private boolean isChained(Object left) { if (left instanceof OSQLFilterItemField) { OSQLFilterItemField field = (OSQLFilterItemField) left; return field.isFieldChain(); } return false; }
/** * Creates {@code FieldChain} in case when filter item can have such representation. * * @return {@code FieldChain} representation of this filter item. * @throws IllegalStateException if this filter item cannot be represented as {@code FieldChain}. */ public FieldChain getFieldChain() { if (!isFieldChain()) { throw new IllegalStateException("Filter item field contains not only field operators"); } return new FieldChain(); }
private void extractInvolvedFields(Object left, List<String> list) { if (left != null) { if (left instanceof OSQLFilterItemField) { if (((OSQLFilterItemField) left).isFieldChain()) { list.add(((OSQLFilterItemField) left).getFieldChain().getItemName( ((OSQLFilterItemField) left).getFieldChain().getItemCount() - 1)); } } else if (left instanceof OSQLFilterCondition) { ((OSQLFilterCondition) left).getInvolvedFields(list); } } }
protected Collection<String> fields(OSQLFilterCondition iCondition) { Object left = iCondition.getLeft(); if (left instanceof String) { String fName = (String) left; return Arrays.asList(fName); } if (left instanceof Collection) { Collection<OSQLFilterItemField> f = (Collection<OSQLFilterItemField>) left; List<String> fields = new ArrayList<String>(); for (OSQLFilterItemField field : f) { fields.add(field.toString()); } return fields; } if (left instanceof OSQLFilterItemField) { OSQLFilterItemField fName = (OSQLFilterItemField) left; if (fName.isFieldChain()) { int itemCount = fName.getFieldChain().getItemCount(); return Arrays.asList(fName.getFieldChain().getItemName(itemCount - 1)); } else { return Arrays.asList(fName.toString()); } } return Collections.emptyList(); } }
if(iCondition.getLeft() instanceof OSQLFilterItemField && ((OSQLFilterItemField) iCondition.getLeft()).isFieldChain() && ((OSQLFilterItemField) iCondition.getLeft()).getFieldChain().getItemCount()==1){ String fieldName = ((OSQLFilterItemField) iCondition.getLeft()).getFieldChain().getItemName(0); if(fieldName!=null) {
if (!itemField.isFieldChain()) { return null; } else if (rightCondition.getRight() instanceof OSQLFilterItemField) { final OSQLFilterItemField itemField = (OSQLFilterItemField) rightCondition.getRight(); if (!itemField.isFieldChain()) { return null; if (leftCondition.getLeft() instanceof OSQLFilterItemField) { final OSQLFilterItemField itemField = (OSQLFilterItemField) leftCondition.getLeft(); if (!itemField.isFieldChain()) { return null; } else if (leftCondition.getRight() instanceof OSQLFilterItemField) { final OSQLFilterItemField itemField = (OSQLFilterItemField) leftCondition.getRight(); if (!itemField.isFieldChain()) { return null;
if (collate != null || operationsChain == null || !isFieldChain()) { return collate;
public static OIndexSearchResult createIndexedProperty(final OSQLFilterCondition iCondition, final Object iItem) { if (iItem == null || !(iItem instanceof OSQLFilterItemField)) return null; if (iCondition.getLeft() instanceof OSQLFilterItemField && iCondition.getRight() instanceof OSQLFilterItemField) return null; final OSQLFilterItemField item = (OSQLFilterItemField) iItem; if (item.hasChainOperators() && !item.isFieldChain()) return null; final Object origValue = iCondition.getLeft() == iItem ? iCondition.getRight() : iCondition.getLeft(); if (iCondition.getOperator() instanceof OQueryOperatorBetween || iCondition.getOperator() instanceof OQueryOperatorIn) { return new OIndexSearchResult(iCondition.getOperator(), item.getFieldChain(), origValue); } final Object value = OSQLHelper.getValue(origValue); if (value == null) return null; return new OIndexSearchResult(iCondition.getOperator(), item.getFieldChain(), value); }
public static OIndexSearchResult createIndexedProperty(final OSQLFilterCondition iCondition, final Object iItem) { if (iItem == null || !(iItem instanceof OSQLFilterItemField)) return null; if (iCondition.getLeft() instanceof OSQLFilterItemField && iCondition.getRight() instanceof OSQLFilterItemField) return null; final OSQLFilterItemField item = (OSQLFilterItemField) iItem; if (item.hasChainOperators() && !item.isFieldChain()) return null; final Object origValue = iCondition.getLeft() == iItem ? iCondition.getRight() : iCondition.getLeft(); if (iCondition.getOperator() instanceof OQueryOperatorBetween || iCondition.getOperator() instanceof OQueryOperatorIn) { return new OIndexSearchResult(iCondition.getOperator(), item.getFieldChain(), origValue); } final Object value = OSQLHelper.getValue(origValue); if (value == null) return null; return new OIndexSearchResult(iCondition.getOperator(), item.getFieldChain(), value); }
if (iCondition.getLeft() instanceof OSQLFilterItemField && ((OSQLFilterItemField) iCondition.getLeft()).isFieldChain() && ((OSQLFilterItemField) iCondition.getLeft()).getFieldChain().getItemCount() == 1) { String fieldName = ((OSQLFilterItemField) iCondition.getLeft()).getFieldChain().getItemName(0);
if (item.hasChainOperators() && !item.isFieldChain()) { return null;