1   package com.atlassian.user.search.query;
2   
3   /**
4    * @deprecated since 2.1 use {@link QueryValidator} instead
5    */
6   public abstract class AbstractEntityQueryParser implements EntityQueryParser
7   {
8       private final QueryValidator queryValidator = new QueryValidator();
9   
10      /**
11       * @deprecated since 2.1 use {@link QueryValidator#assertValid(Query)} instead
12       */
13      protected void validateQuery(Query query) throws EntityQueryException
14      {
15          queryValidator.assertValid(query);
16      }
17  
18      /**
19       * Ensures that the {@link BooleanQuery} combines queries of a singular type {@link UserQuery}, {@link GroupQuery}, or
20       * {@link MembershipQuery}.
21       *
22       * @deprecated since 2.1 use {@link QueryValidator#assertValid(Query)} instead
23       */
24      protected void validateBooleanToQueryType(BooleanQuery query, String queryClassName) throws EntityQueryException
25      {
26          queryValidator.assertValid(query);
27      }
28  
29      /**
30       * @deprecated since 2.1 because this is no longer used in Atlassian-User
31       */
32      protected String matchQueryToQueryType(Query query)
33      {
34          if (query instanceof UserQuery)
35              return UserQuery.class.getName();
36          if (query instanceof GroupQuery)
37              return GroupQuery.class.getName();
38          if (query instanceof MembershipQuery)
39              return MembershipQuery.class.getName();
40          return null;
41      }
42  
43      /**
44       * The 'defining query' lets us know which EntityClass we are querying.
45       *
46       * @deprecated since 2.1 because this is no longer used in Atlassian-User
47       */
48      protected Query identifyDefiningQuery(BooleanQuery booleanQuery)
49      {
50          if (booleanQuery instanceof MembershipQuery)
51              return booleanQuery;
52  
53          for (Query query : booleanQuery.getQueries())
54          {
55              if (query instanceof TermQuery)
56                  return query;
57              if (query instanceof BooleanQuery)
58                  return identifyDefiningQuery((BooleanQuery) query);
59          }
60          return null;
61      }
62  }