gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService クラス
org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService 連携図
Collaboration graph

公開メンバ関数

ParseTree getParseTree (String filter) throws Exception
 
Filter createLdapFilter (String filter, String defaultStr, Class<? extends BaseScimResource > clazz) throws SCIMException
 
Boolean complexAttributeMatch (ParseTree parseTree, Map< String, Object > item, String parent, Class<? extends BaseScimResource > clazz) throws Exception
 

非公開メンバ関数

ParseTree getParseTree (String filter, ScimFilterErrorListener errorListener)
 
void checkParsingErrors (ScimFilterErrorListener errorListener) throws SCIMException
 
void walkTree (String filter, ScimFilterBaseListener listener) throws SCIMException
 

非公開変数類

Logger log
 

詳解

著者
Val Pecaoco Re-engineered by jgomer on 2017-12-09.

関数詳解

◆ checkParsingErrors()

void org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.checkParsingErrors ( ScimFilterErrorListener  errorListener) throws SCIMException
inlineprivate
60  {
61 
62  String outputErr=errorListener.getOutput();
63  String symbolErr=errorListener.getSymbol();
64  if (StringUtils.isNotEmpty(outputErr) || StringUtils.isNotEmpty(symbolErr))
65  throw new SCIMException(String.format("Error parsing filter (symbol='%s'; message='%s')", symbolErr, outputErr));
66 
67  }

◆ complexAttributeMatch()

Boolean org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.complexAttributeMatch ( ParseTree  parseTree,
Map< String, Object >  item,
String  parent,
Class<? extends BaseScimResource clazz 
) throws Exception
inline
102  {
103 
104  MatchFilterVisitor matchVisitor=new MatchFilterVisitor(item, parent, clazz);
105  return matchVisitor.visit(parseTree);
106  }

◆ createLdapFilter()

Filter org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.createLdapFilter ( String  filter,
String  defaultStr,
Class<? extends BaseScimResource clazz 
) throws SCIMException
inline
78  {
79 
80  try {
81  Filter ldapFilter;
82 
83  if (StringUtils.isEmpty(filter))
84  ldapFilter=Filter.create(defaultStr);
85  else {
86  LdapFilterListener ldapFilterListener = new LdapFilterListener(clazz);
87  walkTree(FilterUtil.preprocess(filter, clazz), ldapFilterListener);
88  ldapFilter = ldapFilterListener.getFilter();
89 
90  if (ldapFilter == null)
91  throw new Exception("An error occurred when building LDAP filter: " + ldapFilterListener.getError());
92  }
93 
94  return ldapFilter;
95  }
96  catch (Exception e){
97  throw new SCIMException(e.getMessage(), e);
98  }
99 
100  }
void walkTree(String filter, ScimFilterBaseListener listener)
Definition: ScimFilterParserService.java:69

◆ getParseTree() [1/2]

ParseTree org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.getParseTree ( String  filter,
ScimFilterErrorListener  errorListener 
)
inlineprivate
37  {
38 
39  ANTLRInputStream input = new ANTLRInputStream(filter);
40  ScimFilterLexer lexer = new ScimFilterLexer(input);
41  CommonTokenStream tokens = new CommonTokenStream(lexer);
42 
43  ScimFilterParser parser = new ScimFilterParser(tokens);
44  parser.setTrimParseTree(true);
45  parser.removeErrorListeners();
46  parser.addErrorListener(errorListener);
47 
48  return parser.filter();
49  }

◆ getParseTree() [2/2]

ParseTree org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.getParseTree ( String  filter) throws Exception
inline
51  {
52 
53  ScimFilterErrorListener errorListener=new ScimFilterErrorListener();
54  ParseTree tree=getParseTree(filter, errorListener);
55  checkParsingErrors(errorListener);
56  return tree;
57 
58  }
void checkParsingErrors(ScimFilterErrorListener errorListener)
Definition: ScimFilterParserService.java:60
ParseTree getParseTree(String filter, ScimFilterErrorListener errorListener)
Definition: ScimFilterParserService.java:37

◆ walkTree()

void org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.walkTree ( String  filter,
ScimFilterBaseListener  listener 
) throws SCIMException
inlineprivate
69  {
70 
71  ScimFilterErrorListener errorListener=new ScimFilterErrorListener();
72  ParseTree tree=getParseTree(filter, errorListener);
73  checkParsingErrors(errorListener);
74  ParseTreeWalker.DEFAULT.walk(listener, tree);
75 
76  }
void checkParsingErrors(ScimFilterErrorListener errorListener)
Definition: ScimFilterParserService.java:60
ParseTree getParseTree(String filter, ScimFilterErrorListener errorListener)
Definition: ScimFilterParserService.java:37

メンバ詳解

◆ log

Logger org.gluu.oxtrust.service.antlr.scimFilter.ScimFilterParserService.log
private

このクラス詳解は次のファイルから抽出されました: