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

公開メンバ関数

 LdapFilterListener (Class<? extends BaseScimResource > resourceClass)
 
void enterAndFilter (ScimFilterParser.AndFilterContext ctx)
 
void enterAttrexp (ScimFilterParser.AttrexpContext ctx)
 
void enterNegatedFilter (ScimFilterParser.NegatedFilterContext ctx)
 
void enterOrFilter (ScimFilterParser.OrFilterContext ctx)
 
void exitAndFilter (ScimFilterParser.AndFilterContext ctx)
 
void exitNegatedFilter (ScimFilterParser.NegatedFilterContext ctx)
 
void exitOrFilter (ScimFilterParser.OrFilterContext ctx)
 
String getError ()
 
Filter getFilter ()
 
void enterAttrpath (ScimFilterParser.AttrpathContext ctx)
 
void exitAttrpath (ScimFilterParser.AttrpathContext ctx)
 
void enterCompareop (ScimFilterParser.CompareopContext ctx)
 
void exitCompareop (ScimFilterParser.CompareopContext ctx)
 
void enterCompvalue (ScimFilterParser.CompvalueContext ctx)
 
void exitCompvalue (ScimFilterParser.CompvalueContext ctx)
 
void exitAttrexp (ScimFilterParser.AttrexpContext ctx)
 
void enterSimpleExpr (ScimFilterParser.SimpleExprContext ctx)
 
void exitSimpleExpr (ScimFilterParser.SimpleExprContext ctx)
 
void enterEveryRule (ParserRuleContext ctx)
 
void exitEveryRule (ParserRuleContext ctx)
 
void visitTerminal (TerminalNode node)
 
void visitErrorNode (ErrorNode node)
 

非公開メンバ関数

void close ()
 
String escapeLdapString (String string)
 
String getSubFilter (String subAttribute, String ldapAttribute, String compValue, Type attrType, CompValueType type, ScimOperator operator)
 
String getSubFilterBoolean (String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
 
String getSubFilterDateTime (String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
 
String getSubFilterNumeric (String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
 
String getSubFilterString (String subAttribute, String ldapAttribute, String value, ScimOperator operator)
 
void open ()
 

非公開変数類

Logger log = LogManager.getLogger(getClass())
 
StringBuilder filter
 
Class<? extends BaseScimResourceresourceClass
 
String error
 
ExtensionService extService
 

詳解

Created by jgomer on 2017-12-09.

構築子と解体子

◆ LdapFilterListener()

org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.LdapFilterListener ( Class<? extends BaseScimResource resourceClass)
inline
57  {
58  filter=new StringBuilder();
59  extService=CdiUtil.bean(ExtensionService.class);
61  }
Class<? extends BaseScimResource > resourceClass
Definition: LdapFilterListener.java:53
StringBuilder filter
Definition: LdapFilterListener.java:52
ExtensionService extService
Definition: LdapFilterListener.java:55

関数詳解

◆ close()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.close ( )
inlineprivate
63  {
64  filter.append(")");
65  }
StringBuilder filter
Definition: LdapFilterListener.java:52

◆ enterAndFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.enterAndFilter ( ScimFilterParser.AndFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

68  {
69  open();
70  filter.append("&");
71  }
void open()
Definition: LdapFilterListener.java:387
StringBuilder filter
Definition: LdapFilterListener.java:52

◆ enterAttrexp()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.enterAttrexp ( ScimFilterParser.AttrexpContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

74  {
75 
76  if (StringUtils.isEmpty(error)) {
77  log.trace("enterAttrexp.");
78 
79  String path = ctx.attrpath().getText();
80  ScimFilterParser.CompvalueContext compValueCtx = ctx.compvalue();
81  boolean isPrRule = compValueCtx == null && ctx.getChild(1).getText().equals("pr");
82 
83  Type attrType=null;
84  Attribute attrAnnot = IntrospectUtil.getFieldAnnotation(path, resourceClass, Attribute.class);
85  String ldapAttribute = null;
86  boolean isNested = false;
87 
88  if (attrAnnot==null) {
89  ExtensionField field=extService.getFieldOfExtendedAttribute(resourceClass, path);
90 
91  if (field==null)
92  error=String.format("Attribute path '%s' is not recognized in %s", path, resourceClass.getSimpleName());
93  else {
94  attrType = field.getAttributeDefinitionType();
95  ldapAttribute = path.substring(path.lastIndexOf(":")+1);
96  }
97  }
98  else {
99  attrType = attrAnnot.type();
100  Pair<String, Boolean> pair=FilterUtil.getLdapAttributeOfResourceAttribute(path, resourceClass);
101  ldapAttribute=pair.getFirst();
102  isNested=pair.getSecond();
103  }
104 
105  if (error!=null)
106  ; //Intentionally left empty
107  else
108  if (attrType==null)
109  error=String.format("Could not determine type of attribute path '%s' in %s", path, resourceClass.getSimpleName());
110  else
111  if (ldapAttribute==null)
112  error=String.format("Could not determine LDAP attribute for path '%s' in %s", path, resourceClass.getSimpleName());
113  else{
114  String subattr=isNested ? path.substring(path.lastIndexOf(".")+1) : null;
115  String subFilth;
116  CompValueType type;
117  ScimOperator operator;
118 
119  if (isPrRule) {
120  type=CompValueType.NULL;
121  operator=ScimOperator.NOT_EQUAL;
122  }
123  else {
124  type=FilterUtil.getCompValueType(compValueCtx);
125  operator=ScimOperator.getByValue(ctx.compareop().getText());
126  }
127 
128  error=FilterUtil.checkFilterConsistency(path, attrType, type, operator);
129  if (error==null) {
130  subFilth = getSubFilter(subattr, ldapAttribute, isPrRule ? null : compValueCtx.getText(), attrType, type, operator);
131 
132  if (subFilth == null){
133  if (error==null)
134  error = String.format("Operator '%s' is not supported for attribute %s", operator.getValue(), path);
135  }
136  else
137  filter.append(subFilth);
138  }
139  }
140  }
141  }
ExtensionField getFieldOfExtendedAttribute(Class<? extends BaseScimResource > cls, String attribute)
Definition: ExtensionService.java:172
String error
Definition: LdapFilterListener.java:54
Class<? extends BaseScimResource > resourceClass
Definition: LdapFilterListener.java:53
StringBuilder filter
Definition: LdapFilterListener.java:52
Logger log
Definition: LdapFilterListener.java:51
String getSubFilter(String subAttribute, String ldapAttribute, String compValue, Type attrType, CompValueType type, ScimOperator operator)
Definition: LdapFilterListener.java:196
ExtensionService extService
Definition: LdapFilterListener.java:55

◆ enterAttrpath()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.enterAttrpath ( ScimFilterParser.AttrpathContext  ctx)
inlineinherited

Enter a parse tree produced by ScimFilterParser#attrpath.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

24 { }

◆ enterCompareop()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.enterCompareop ( ScimFilterParser.CompareopContext  ctx)
inlineinherited

Enter a parse tree produced by ScimFilterParser#compareop.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

36 { }

◆ enterCompvalue()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.enterCompvalue ( ScimFilterParser.CompvalueContext  ctx)
inlineinherited

Enter a parse tree produced by ScimFilterParser#compvalue.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

48 { }

◆ enterEveryRule()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.enterEveryRule ( ParserRuleContext  ctx)
inlineinherited

The default implementation does nothing.

121 { }

◆ enterNegatedFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.enterNegatedFilter ( ScimFilterParser.NegatedFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

144  {
145  if (ctx.getText().startsWith("not(")) {
146  open();
147  filter.append("!");
148  }
149  }
void open()
Definition: LdapFilterListener.java:387
StringBuilder filter
Definition: LdapFilterListener.java:52

◆ enterOrFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.enterOrFilter ( ScimFilterParser.OrFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

152  {
153  open();
154  filter.append("|");
155  }
void open()
Definition: LdapFilterListener.java:387
StringBuilder filter
Definition: LdapFilterListener.java:52

◆ enterSimpleExpr()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.enterSimpleExpr ( ScimFilterParser.SimpleExprContext  ctx)
inlineinherited

Enter a parse tree produced by the

simpleExpr

labeled alternative in ScimFilterParser#filter.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

72 { }

◆ escapeLdapString()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.escapeLdapString ( String  string)
inlineprivate
157  {
158  //See section 4 of RFC 2254
159  return string.replace("\\", "\\5c").replace("*", "\\2a")
160  .replace("(", "\\28").replace(")", "\\29")
161  .replace("\0", "\\00");
162  }

◆ exitAndFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.exitAndFilter ( ScimFilterParser.AndFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

165  {
166  close();
167  }
void close()
Definition: LdapFilterListener.java:63

◆ exitAttrexp()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitAttrexp ( ScimFilterParser.AttrexpContext  ctx)
inlineinherited

Exit a parse tree produced by ScimFilterParser#attrexp.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

66 { }

◆ exitAttrpath()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitAttrpath ( ScimFilterParser.AttrpathContext  ctx)
inlineinherited

Exit a parse tree produced by ScimFilterParser#attrpath.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

30 { }

◆ exitCompareop()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitCompareop ( ScimFilterParser.CompareopContext  ctx)
inlineinherited

Exit a parse tree produced by ScimFilterParser#compareop.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

42 { }

◆ exitCompvalue()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitCompvalue ( ScimFilterParser.CompvalueContext  ctx)
inlineinherited

Exit a parse tree produced by ScimFilterParser#compvalue.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

54 { }

◆ exitEveryRule()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitEveryRule ( ParserRuleContext  ctx)
inlineinherited

The default implementation does nothing.

127 { }

◆ exitNegatedFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.exitNegatedFilter ( ScimFilterParser.NegatedFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

170  {
171  if (ctx.getText().startsWith("not("))
172  close();
173  }
void close()
Definition: LdapFilterListener.java:63

◆ exitOrFilter()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.exitOrFilter ( ScimFilterParser.OrFilterContext  ctx)
inline

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

176  {
177  close();
178  }
void close()
Definition: LdapFilterListener.java:63

◆ exitSimpleExpr()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.exitSimpleExpr ( ScimFilterParser.SimpleExprContext  ctx)
inlineinherited

Exit a parse tree produced by the

simpleExpr

labeled alternative in ScimFilterParser#filter.

引数
ctxthe parse tree

The default implementation does nothing.

org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterListenerを実装しています。

78 { }

◆ getError()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getError ( )
inline
180  {
181  return error;
182  }
String error
Definition: LdapFilterListener.java:54

◆ getFilter()

Filter org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getFilter ( )
inline
184  {
185  if (StringUtils.isEmpty(error)) {
186  if (filter.charAt(0)!='(' || filter.charAt(filter.length()-1)!=')')
187  filter.insert(0, "(").append(")");
188 
189  log.info("LDAP filter expression computed was {}", filter.toString());
190  return Filter.create(filter.toString());
191  }
192  else
193  return null;
194  }
String error
Definition: LdapFilterListener.java:54
StringBuilder filter
Definition: LdapFilterListener.java:52
Logger log
Definition: LdapFilterListener.java:51

◆ getSubFilter()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getSubFilter ( String  subAttribute,
String  ldapAttribute,
String  compValue,
Type  attrType,
CompValueType  type,
ScimOperator  operator 
)
inlineprivate
196  {
197 
198  String filth=null;
199 
200  if (type.equals(CompValueType.NULL)){
201  if (subAttribute==null) {
202  filth = NULL_NOT_EQUALS.get(ldapAttribute);
203  if (operator.equals(ScimOperator.EQUAL))
204  filth= "(!" + filth + ")";
205  }
206  else {
207  filth = NULL_EQUALS_INNER.get(ldapAttribute, subAttribute);
208  if (operator.equals(ScimOperator.NOT_EQUAL))
209  filth= "(!" + filth + ")";
210  }
211  }
212  else
213  if (Type.STRING.equals(attrType) || Type.REFERENCE.equals(attrType)){
214  compValue=escapeLdapString(compValue.substring(1, compValue.length()-1)); //Drop double quotes and encode
215  filth=getSubFilterString(subAttribute, ldapAttribute, compValue, operator);
216  }
217  else
218  if (Type.INTEGER.equals(attrType) || Type.DECIMAL.equals(attrType))
219  filth=getSubFilterNumeric(subAttribute, ldapAttribute, compValue, operator, attrType);
220  else
221  if (Type.BOOLEAN.equals(attrType))
222  filth=getSubFilterBoolean(subAttribute, ldapAttribute, compValue, operator, attrType);
223  else
224  if (Type.DATETIME.equals(attrType)){
225  compValue=escapeLdapString(compValue.substring(1, compValue.length()-1));
226  filth=getSubFilterDateTime(subAttribute, ldapAttribute, compValue, operator, attrType);
227  }
228 
229  log.trace("getSubFilter. {}", filth);
230  return filth;
231 
232  }
String getSubFilterString(String subAttribute, String ldapAttribute, String value, ScimOperator operator)
Definition: LdapFilterListener.java:321
String getSubFilterBoolean(String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
Definition: LdapFilterListener.java:234
String getSubFilterDateTime(String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
Definition: LdapFilterListener.java:257
String getSubFilterNumeric(String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
Definition: LdapFilterListener.java:271
Logger log
Definition: LdapFilterListener.java:51
String escapeLdapString(String string)
Definition: LdapFilterListener.java:157

◆ getSubFilterBoolean()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getSubFilterBoolean ( String  subAttribute,
String  ldapAttribute,
String  value,
ScimOperator  operator,
Type  attrType 
)
inlineprivate
234  {
235 
236  String subfilter=null;
237  log.trace("getSubFilterBoolean");
238 
239  if (operator.equals(ScimOperator.EQUAL) || operator.equals(ScimOperator.NOT_EQUAL)) {
240  if (subAttribute==null)
241  //should be TRUE or FALSE (uppercase) to work: boolean syntax 1.3.6.1.4.1.1466.115.121.1.7 with booleanMatch equality
242  subfilter=BOOLEAN_EQUALS.get(ldapAttribute, value.toUpperCase());
243  else
244  //When it's inside json, the underlying attribute is not a boolean LDAP but a string so no conversion is needed
245  subfilter=BOOLEAN_EQUALS_INNER.get(ldapAttribute, subAttribute, value);
246 
247  if (operator.equals(ScimOperator.NOT_EQUAL))
248  subfilter= "(!" + subfilter + ")";
249  }
250  else
251  error=FilterUtil.getOperatorInconsistencyError(operator.getValue(), attrType.toString(), subAttribute);
252 
253  return subfilter;
254 
255  }
String error
Definition: LdapFilterListener.java:54
Logger log
Definition: LdapFilterListener.java:51

◆ getSubFilterDateTime()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getSubFilterDateTime ( String  subAttribute,
String  ldapAttribute,
String  value,
ScimOperator  operator,
Type  attrType 
)
inlineprivate
257  {
258 
259  log.trace("getSubFilterDateTime");
260  String generalizedStringDate= DateUtil.ISOToGeneralizedStringDate(value);
261  if (generalizedStringDate==null) {
262  error=String.format("Value passed for date comparison \"%s\" is not in ISO format", value);
263  return null;
264  }
265  else
266  //happily the same rules and templates apply
267  return getSubFilterNumeric(subAttribute, ldapAttribute, generalizedStringDate, operator, attrType);
268 
269  }
String error
Definition: LdapFilterListener.java:54
String getSubFilterNumeric(String subAttribute, String ldapAttribute, String value, ScimOperator operator, Type attrType)
Definition: LdapFilterListener.java:271
Logger log
Definition: LdapFilterListener.java:51

◆ getSubFilterNumeric()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getSubFilterNumeric ( String  subAttribute,
String  ldapAttribute,
String  value,
ScimOperator  operator,
Type  attrType 
)
inlineprivate
271  {
272 
273  String subfilter=null;
274  StringBuilder subfilter2=new StringBuilder();
275  log.trace("getSubFilterNumeric");
276 
277  switch (operator){
278  case EQUAL:
279  case NOT_EQUAL:
280  if (subAttribute==null)
281  subfilter=NUMERIC_EQUALS.get(ldapAttribute, value);
282  else
283  subfilter=NUMERIC_EQUALS_INNER.get(ldapAttribute, subAttribute, value);
284 
285  if (operator.equals(ScimOperator.NOT_EQUAL))
286  subfilter= "(!" + subfilter + ")";
287  break;
288  case GREATER_THAN:
289  if (subAttribute==null) {
290  subfilter2.append("(&")
291  .append("(!").append(NUMERIC_EQUALS.get(ldapAttribute, value)).append(")")
292  .append(NUMERIC_GREATER_THAN_OR_EQ.get(ldapAttribute, value))
293  .append(")");
294  subfilter = subfilter2.toString();
295  }
296  break;
297  case GREATER_THAN_OR_EQUAL:
298  if (subAttribute==null)
299  subfilter=NUMERIC_GREATER_THAN_OR_EQ.get(ldapAttribute, value);
300  break;
301  case LESS_THAN:
302  if (subAttribute==null) {
303  subfilter2.append("(&")
304  .append("(!").append(NUMERIC_EQUALS.get(ldapAttribute, value)).append(")")
305  .append(NUMERIC_LESS_THAN_OR_EQ.get(ldapAttribute, value))
306  .append(")");
307  subfilter = subfilter2.toString();
308  }
309  break;
310  case LESS_THAN_OR_EQUAL:
311  if (subAttribute==null)
312  subfilter=NUMERIC_LESS_THAN_OR_EQ.get(ldapAttribute, value);
313  break;
314  default:
315  error= FilterUtil.getOperatorInconsistencyError(operator.getValue(), attrType.toString(), subAttribute);
316  }
317  return subfilter;
318 
319  }
String error
Definition: LdapFilterListener.java:54
Logger log
Definition: LdapFilterListener.java:51

◆ getSubFilterString()

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.getSubFilterString ( String  subAttribute,
String  ldapAttribute,
String  value,
ScimOperator  operator 
)
inlineprivate
321  {
322 
323  String subfilter=null;
324  StringBuilder subfilter2=new StringBuilder();
325  log.trace("getSubFilterString");
326 
327  switch (operator){
328  case EQUAL:
329  case NOT_EQUAL:
330  if (subAttribute==null)
331  subfilter=STRING_EQUALS.get(ldapAttribute, value);
332  else
333  subfilter=STRING_EQUALS_INNER.get(ldapAttribute, subAttribute, value);
334 
335  if (operator.equals(ScimOperator.NOT_EQUAL))
336  subfilter= "(!" + subfilter + ")";
337  break;
338  case CONTAINS:
339  if (subAttribute==null)
340  subfilter=STRING_CONTAINS.get(ldapAttribute, value);
341  else
342  subfilter=STRING_CONTAINS_INNER.get(ldapAttribute, subAttribute, value);
343  break;
344  case STARTS_WITH:
345  if (subAttribute==null)
346  subfilter=STRING_STARTSWITH.get(ldapAttribute, value);
347  else
348  subfilter=STRING_STARTSWITH_INNER.get(ldapAttribute, subAttribute, value);
349  break;
350  case ENDS_WITH:
351  if (subAttribute==null)
352  subfilter=STRING_ENDSWITH.get(ldapAttribute, value);
353  else
354  subfilter=STRING_ENDSWITH_INNER.get(ldapAttribute, subAttribute, value);
355  break;
356  case GREATER_THAN: //LDAP does not support greater than operator
357  if (subAttribute==null) {
358  subfilter2.append("(&")
359  .append("(!").append(STRING_EQUALS.get(ldapAttribute, value)). append(")")
360  .append(STRING_GREATER_THAN_OR_EQ.get(ldapAttribute, value))
361  .append(")");
362  subfilter=subfilter2.toString();
363  }
364  break;
365  case GREATER_THAN_OR_EQUAL:
366  if (subAttribute==null)
367  subfilter=STRING_GREATER_THAN_OR_EQ.get(ldapAttribute, value);
368  break;
369  case LESS_THAN: //LDAP does not support less than operator
370  if (subAttribute==null) {
371  subfilter2.append("(&")
372  .append("(!").append(STRING_EQUALS.get(ldapAttribute, value)). append(")")
373  .append(STRING_LESS_THAN_OR_EQ.get(ldapAttribute, value))
374  .append(")");
375  subfilter = subfilter2.toString();
376  }
377  break;
378  case LESS_THAN_OR_EQUAL:
379  if (subAttribute==null)
380  subfilter=STRING_LESS_THAN_OR_EQ.get(ldapAttribute, value);
381  break;
382  }
383  return subfilter;
384 
385  }
Logger log
Definition: LdapFilterListener.java:51

◆ open()

void org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.open ( )
inlineprivate
387  {
388  filter.append("(");
389  }
StringBuilder filter
Definition: LdapFilterListener.java:52

◆ visitErrorNode()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.visitErrorNode ( ErrorNode  node)
inlineinherited

The default implementation does nothing.

139 { }

◆ visitTerminal()

void org.gluu.oxtrust.service.antlr.scimFilter.antlr4.ScimFilterBaseListener.visitTerminal ( TerminalNode  node)
inlineinherited

The default implementation does nothing.

133 { }

メンバ詳解

◆ error

String org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.error
private

◆ extService

ExtensionService org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.extService
private

◆ filter

StringBuilder org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.filter
private

◆ log

Logger org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.log = LogManager.getLogger(getClass())
private

◆ resourceClass

Class<? extends BaseScimResource> org.gluu.oxtrust.service.antlr.scimFilter.LdapFilterListener.resourceClass
private

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