/** * Constructs a {@link MongoDBConfiguration} instance with some parameters. * * @param host Host of MongoDB. * @param port Port of MongoDB. * @param databaseName Database name. * @param username Username. * @param password Password. */ public MongoDBBasedUserManager(String host, int port, String databaseName, String username, String password) { this(new MongoDBUtil(host, port, databaseName, username, password)); }
public void dropCollection(String collectionName) { execute(collectionName, collection -> { collection.drop(); return null; }); }
public MongoCollection getCollection(String collectionName) { if (mongoClient == null) { mongoClient = getConnectedClient(); } return mongoClient.getDatabase(databaseName).getCollection(collectionName); }
public void dropCollection(String collectionName) { execute(collectionName, collection -> { collection.drop(); return null; }); }
public MongoCollection getCollection(String collectionName) { if (mongoClient == null) { mongoClient = getConnectedClient(); } return mongoClient.getDatabase(databaseName).getCollection(collectionName); }
/** * Constructs a {@link MongoDBConfiguration} instance with some parameters. * * @param host Host of MongoDB. * @param port Port of MongoDB. * @param databaseName Database name. * @param username Username. * @param password Password. */ public MongoDBBasedUserManager(String host, int port, String databaseName, String username, String password) { this(new MongoDBUtil(host, port, databaseName, username, password)); }
public DeleteResult deleteAll(String collectionName) { return execute(collectionName, collection -> collection.deleteMany(new Document())); }
public <T> T execute(String collectionName, CollectionCallback<T> callback) { MongoDatabase database = null; if (mongoClient == null) { mongoClient = getConnectedClient(); } return callback.doInCollection( mongoClient.getDatabase(databaseName).getCollection(collectionName)); }
public DeleteResult deleteAll(String collectionName) { return execute(collectionName, collection -> collection.deleteMany(new Document())); }
public <T> T execute(String collectionName, CollectionCallback<T> callback) { MongoDatabase database = null; if (mongoClient == null) { mongoClient = getConnectedClient(); } return callback.doInCollection( mongoClient.getDatabase(databaseName).getCollection(collectionName)); }
@Override public List<User> findAll() { return mongoDBUtil.execute(userCollectionName, collection -> { FindIterable<Document> result = collection.find(); List<User> users = new ArrayList<>(); for (Document document : result) { users.add(formUser(document)); } return users; }); }
/** * Connect MongoDB and call callback, close connection at last. * * @param collectionName Collection name. * @param callback Callback * @param <T> The type of value which you want to return. * @return The value which callback returned. */ public <T> T connect(String collectionName, CollectionCallback<T> callback) { MongoClient client = null; T t = null; try { client = getConnectedClient(); MongoDatabase database = client.getDatabase(databaseName); MongoCollection<Document> collection = database.getCollection(collectionName); t = callback.doInCollection(collection); } finally { if (client != null) { client.close(); } } return t; }
@Override public List<User> findAll() { return mongoDBUtil.execute(userCollectionName, collection -> { FindIterable<Document> result = collection.find(); List<User> users = new ArrayList<>(); for (Document document : result) { users.add(formUser(document)); } return users; }); }
/** * Connect MongoDB and call callback, close connection at last. * * @param collectionName Collection name. * @param callback Callback * @param <T> The type of value which you want to return. * @return The value which callback returned. */ public <T> T connect(String collectionName, CollectionCallback<T> callback) { MongoClient client = null; T t = null; try { client = getConnectedClient(); MongoDatabase database = client.getDatabase(databaseName); MongoCollection<Document> collection = database.getCollection(collectionName); t = callback.doInCollection(collection); } finally { if (client != null) { client.close(); } } return t; }
public User fetchUserFromMongoDB(final String username) { return mongoDBUtil.execute(userCollectionName, collection -> { Document document = collection.find(new Document(usernameKey, username)).first(); if (document != null) { return formUser(document); } return null; }); }
@Override public void delete(final String username) { mongoDBUtil.execute(userCollectionName, collection -> { collection.deleteOne(new Document(usernameKey, username)); return null; }); cache.put(username, new User()); }
@Override public void delete(final String username) { mongoDBUtil.execute(userCollectionName, collection -> { collection.deleteOne(new Document(usernameKey, username)); return null; }); cache.put(username, new User()); }
public User fetchUserFromMongoDB(final String username) { return mongoDBUtil.execute(userCollectionName, collection -> { Document document = collection.find(new Document(usernameKey, username)).first(); if (document != null) { return formUser(document); } return null; }); }
@Override public void update(final User user) { if (user == null) { throw new IllegalArgumentException("User can't null"); } if (Strings.isNullOrEmpty(user.getUsername())) { throw new IllegalArgumentException("Username of the user can't be null or empty"); } User old = find(user.getUsername()); String newEncryptPassword = generateEncryptPassword(user); if (!old.getPassword().equals(newEncryptPassword)) { user.setPassword(newEncryptPassword); } mongoDBUtil.execute(userCollectionName, collection -> { collection.updateOne(new Document(usernameKey, user.getUsername()), new Document("$set", new Document(usernameKey, user.getPassword()))); return null; }); cache.put(user.getUsername(), user); }
@Override public void update(final User user) { if (user == null) { throw new IllegalArgumentException("User can't null"); } if (Strings.isNullOrEmpty(user.getUsername())) { throw new IllegalArgumentException("Username of the user can't be null or empty"); } User old = find(user.getUsername()); String newEncryptPassword = generateEncryptPassword(user); if (!old.getPassword().equals(newEncryptPassword)) { user.setPassword(newEncryptPassword); } mongoDBUtil.execute(userCollectionName, collection -> { collection.updateOne(new Document(usernameKey, user.getUsername()), new Document("$set", new Document(usernameKey, user.getPassword()))); return null; }); cache.put(user.getUsername(), user); }