/** * Returns a new QueryBuilder. * * @return a builder */ public static QueryBuilder start() { return new QueryBuilder(); }
/** * Creates a new query with a document key * * @param key MongoDB document key * @return {@code this} */ public static QueryBuilder start(final String key) { return (new QueryBuilder()).put(key); }
PreparedStatement ps = new QueryBuilder() .select("*") .from("accounts") .where() .add(yourConstraint()) ... .compile();
/** * Creates a new query with a document key * * @param key MongoDB document key * @return {@code this} */ public static QueryBuilder start(final String key) { return (new QueryBuilder()).put(key); }
private void addTypeToUntypedRecords() { DBObject q = new QueryBuilder().put("type").exists(false).get(); BasicDBObject o = new BasicDBObject("$set", new BasicDBObject("type", RecordType.changeSetExecution.name())); getMongeezCollection().update(q, o, false, true, WriteConcern.SAFE); }
@Override public List<Scope> findByResourceServer(Map<String, String[]> attributes, String resourceServerId, int firstResult, int maxResult) { QueryBuilder queryBuilder = new QueryBuilder() .and("resourceServerId").is(resourceServerId); attributes.forEach((name, value) -> { queryBuilder.and(name).regex(Pattern.compile(".*" + value[0] + ".*", Pattern.CASE_INSENSITIVE)); }); DBObject sort = new BasicDBObject("name", 1); return getMongoStore().loadEntities(ScopeEntity.class, queryBuilder.get(), sort, firstResult, maxResult, invocationContext).stream() .map(scope -> findById(scope.getId(), scope.getResourceServerId())).collect(toList()); }
private List<DBObject> buildHierarchyLevelConditions(Map<String, String> hierarchyLevels) { List<DBObject> conditions = new ArrayList<>(); for (Entry<String, String> hierarchyLevel : hierarchyLevels.entrySet()) { QueryBuilder structure = new QueryBuilder().put("m.structures"); QueryBuilder hierarchyLevelQuery = QueryBuilder.start(); hierarchyLevelQuery.put("hierarchy").is(hierarchyLevel.getKey()); hierarchyLevelQuery.put("current.level").is(hierarchyLevel.getValue()); structure.elemMatch(hierarchyLevelQuery.get()); conditions.add(structure.get()); } return conditions; }
@Override public List findByResourceServer(String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .get(); return getMongoStore().loadEntities(ResourceEntity.class, query, getInvocationContext()).stream() .map(scope -> findById(scope.getId(), resourceServerId)).collect(toList()); }
@Override public List<Scope> findByResourceServer(String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .get(); return getMongoStore().loadEntities(ScopeEntity.class, query, getInvocationContext()).stream() .map(scope -> findById(scope.getId(), scope.getResourceServerId())) .collect(toList()); }
public static List<MongoRoleEntity> getAllScopesOfTemplate(ClientTemplateModel template, MongoStoreInvocationContext invContext) { ClientTemplateEntity scopedEntity = ((ClientTemplateAdapter)template).getMongoEntity(); List<String> scopeIds = scopedEntity.getScopeIds(); if (scopeIds == null || scopeIds.isEmpty()) { return Collections.emptyList(); } DBObject query = new QueryBuilder() .and("_id").in(scopeIds) .get(); return invContext.getMongoStore().loadEntities(MongoRoleEntity.class, query, invContext); } }
@Override public List<Policy> findDependentPolicies(String policyId, String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .and("associatedPolicies").is(policyId) .get(); return getMongoStore().loadEntities(PolicyEntity.class, query, getInvocationContext()).stream() .map(policyEntity -> findById(policyEntity.getId(), resourceServerId)) .collect(toList()); }
@Override public List<Resource> findByOwner(String ownerId, String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .and("owner").is(ownerId) .get(); return getMongoStore().loadEntities(ResourceEntity.class, query, getInvocationContext()).stream() .map(scope -> findById(scope.getId(), resourceServerId)).collect(toList()); }
@Override public List<Resource> findByScope(List<String> id, String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .and("scopes").in(id) .get(); return getMongoStore().loadEntities(ResourceEntity.class, query, getInvocationContext()).stream() .map(policyEntity -> findById(policyEntity.getId(), resourceServerId)) .collect(toList()); }
@Override public Resource findByName(String name, String resourceServerId) { DBObject query = new QueryBuilder() .and("resourceServerId").is(resourceServerId) .and("name").is(name) .get(); return getMongoStore().loadEntities(ResourceEntity.class, query, getInvocationContext()).stream() .map(policyEntity -> findById(policyEntity.getId(), resourceServerId)).findFirst().orElse(null); }
@Override public void grantToAllUsers(RealmModel realm, RoleModel role) { DBObject query = new QueryBuilder() .and("realmId").is(realm.getId()) .get(); DBObject update = new QueryBuilder() .and("$push").is(new BasicDBObject("roleIds", role.getId())) .get(); int count = getMongoStore().updateEntities(MongoUserEntity.class, query, update, invocationContext); }
@Override public void preRemove(RealmModel realm, GroupModel group) { // Remove this role from all users, which has it DBObject query = new QueryBuilder() .and("groupIds").is(group.getId()) .get(); DBObject pull = new BasicDBObject("$pull", query); getMongoStore().updateEntities(MongoUserEntity.class, query, pull, invocationContext); }
@Override public List<String> getMembership(RealmModel realm, GroupModel group, int firstResult, int max) { QueryBuilder queryBuilder = new QueryBuilder() .and("realmId").is(realm.getId()); queryBuilder.and("groupIds").is(group.getId()); List<FederatedUser> users = getMongoStore().loadEntities(FederatedUser.class, queryBuilder.get(), null, firstResult, max, invocationContext); List<String> ids = new LinkedList<>(); for (FederatedUser user : users) ids.add(user.getId()); return ids; }
private void onUserRemoved(RealmModel realm, String userId) { DBObject query = new QueryBuilder() .and("userId").is(userId) .get(); getMongoStore().removeEntities(MongoOnlineUserSessionEntity.class, query, false, invocationContext); getMongoStore().removeEntities(MongoOfflineUserSessionEntity.class, query, false, invocationContext); }
@Override public List<UserModel> searchForUserByUserAttribute(String attrName, String attrValue, RealmModel realm) { QueryBuilder queryBuilder = new QueryBuilder() .and("realmId").is(realm.getId()); queryBuilder.and("attributes." + attrName).is(attrValue); List<MongoUserEntity> users = getMongoStore().loadEntities(MongoUserEntity.class, queryBuilder.get(), invocationContext); return convertUserEntities(realm, users); }
@Override public ClientModel getClientByClientId(String clientId, RealmModel realm) { DBObject query = new QueryBuilder() .and("realmId").is(realm.getId()) .and("clientId").is(clientId) .get(); MongoClientEntity appEntity = getMongoStore().loadSingleEntity(MongoClientEntity.class, query, invocationContext); if (appEntity == null) return null; return session.realms().getClientById(appEntity.getId(), realm); }