@Override public Bson visitAttribute(final String key) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)); }
@Override public Bson visitFeatureProperty(final String property) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); } }
@Override public Bson visitAttribute(final String key) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)); }
@Override public Bson visitFeatureProperty(final String property) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); } }
@Override public Bson visitAttribute(final String key) { return Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)); }
@Override public Bson visitFeatureProperty(final String property) { return Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); }
@Override public Bson visitFeatureProperty(final String property) { return Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.regex(PersistenceConstants.FIELD_GRANTS_RESOURCE, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)); }
@Override public Bson visitAttribute(final String key) { return Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.and(Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(PersistenceConstants.FIELD_FEATURE_PATH_KEY, featureId)); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.and(Filters.regex(PersistenceConstants.FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(PersistenceConstants.FIELD_FEATURE_PATH_KEY, featureId)); }
@Override public Optional<Bson> visitFeatureProperty(final String property) { return Optional.of(withOrWithoutPredicate( predicate -> Filters.and( Filters.eq(FIELD_PATH_KEY, FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property), CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)), () -> Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)) )); }
@Override public Optional<Bson> visitFeatureProperty(final String property) { return Optional.of(withOrWithoutPredicate( predicate -> Filters.and( Filters.eq(FIELD_PATH_KEY, FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property), CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)), () -> Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)) )); }
@Override public Optional<Bson> visitAttribute(final String key) { return Optional.of(withOrWithoutPredicate( predicate -> { final String attributeKeyWithPrefix = FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key; final Bson keyRestrictionBson = Filters.eq(FIELD_PATH_KEY, attributeKeyWithPrefix); return Filters.and(keyRestrictionBson, CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)); }, () -> Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex(FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)) )); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.elemMatch(PersistenceConstants.FIELD_INTERNAL, Filters.and(Filters.regex(PersistenceConstants.FIELD_INTERNAL_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(PersistenceConstants.FIELD_INTERNAL_FEATURE_ID, featureId))); }
@Override public Optional<Bson> visitAttribute(final String key) { return Optional.of(withOrWithoutPredicate( predicate -> { final String attributeKeyWithPrefix = FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key; final Bson keyRestrictionBson = Filters.eq(FIELD_PATH_KEY, attributeKeyWithPrefix); return Filters.and(keyRestrictionBson, CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)); }, () -> Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex(FIELD_ATTRIBUTE_PREFIX_WITH_ENDING_SLASH + key)) )); }
@Override public Bson visitFeatureIdProperty(final String featureId, final String property) { return Filters.elemMatch(PersistenceConstants.FIELD_INTERNAL, Filters.and(Filters.regex(PersistenceConstants.FIELD_INTERNAL_KEY, FieldExpressionUtil.wrapExistsRegex( PersistenceConstants.FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(PersistenceConstants.FIELD_INTERNAL_FEATURE_ID, featureId))); }
@Override public Optional<Bson> visitFeatureIdProperty(final String featureId, final String property) { return Optional.of(withOrWithoutPredicate( predicate -> Filters.and( Filters.eq(FIELD_PATH_KEY, FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property), Filters.eq(FIELD_FEATURE_PATH_KEY, featureId), CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)), () -> Filters.and(Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(FIELD_FEATURE_PATH_KEY, featureId)) )); }
@Override public Optional<Bson> visitFeatureIdProperty(final String featureId, final String property) { return Optional.of(withOrWithoutPredicate( predicate -> Filters.and( Filters.eq(FIELD_PATH_KEY, FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property), Filters.eq(FIELD_FEATURE_PATH_KEY, featureId), CreateBsonPredicateVisitor.apply(predicate, FIELD_PATH_VALUE)), () -> Filters.and(Filters.regex(FIELD_PATH_KEY, FieldExpressionUtil.wrapExistsRegex( FIELD_FEATURE_PROPERTIES_PREFIX_WITH_ENDING_SLASH + property)), Filters.eq(FIELD_FEATURE_PATH_KEY, featureId)) )); }