/** * 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 <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 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 <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 void dropCollection(String collectionName) { execute(collectionName, collection -> { collection.drop(); return null; }); }
/** * 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 MongoCollection getCollection(String collectionName) { if (mongoClient == null) { mongoClient = getConnectedClient(); } return mongoClient.getDatabase(databaseName).getCollection(collectionName); }
/** * 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 DeleteResult deleteAll(String collectionName) { return execute(collectionName, collection -> collection.deleteMany(new Document())); }
/** * 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 DeleteResult deleteAll(String collectionName) { return execute(collectionName, collection -> collection.deleteMany(new Document())); }
@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; }); }
@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; }); }
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 create(final User user) { user.setPassword(generateEncryptPassword(user)); mongoDBUtil.execute(userCollectionName, collection -> { collection.insertOne(new Document().append(usernameKey, user.getUsername()) .append(passwordKey, user.getPassword())); return null; }); }
@Override public void create(final User user) { user.setPassword(generateEncryptPassword(user)); mongoDBUtil.execute(userCollectionName, collection -> { collection.insertOne(new Document().append(usernameKey, user.getUsername()) .append(passwordKey, user.getPassword())); return null; }); }
@Override public UserManager addUser(final String username, final String password) { final User user = new User(username, password); user.setPassword(generateEncryptPassword(user)); mongoDBUtil.execute(userCollectionName, collection -> { collection.insertOne(new Document().append(usernameKey, user.getUsername()) .append(passwordKey, user.getPassword())); return null; }); return this; }
@Override public UserManager addUser(final String username, final String password) { final User user = new User(username, password); user.setPassword(generateEncryptPassword(user)); mongoDBUtil.execute(userCollectionName, collection -> { collection.insertOne(new Document().append(usernameKey, user.getUsername()) .append(passwordKey, user.getPassword())); return null; }); return this; }