Commit 27cd9e21 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

enhance usersrepostiroy

parent 1211d752
...@@ -18,10 +18,7 @@ import persistence.MongoRepositories; ...@@ -18,10 +18,7 @@ import persistence.MongoRepositories;
import repositories.Repositories; import repositories.Repositories;
import stub.MongoConfiguration; import stub.MongoConfiguration;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -39,29 +36,20 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -39,29 +36,20 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
//todo: add mongo-java-driver as maven dep //todo: add mongo-java-driver as maven dep
User user = new User(String.valueOf(UUID.randomUUID()), "mehow");
// MongoClient mongoClient = new MongoClient("localhost", 27017);
// MongoDatabase database = mongoClient.getDatabase("db");
MongoDBConnector mongoDBConnector = new MongoDBConnector(); MongoDBConnector mongoDBConnector = new MongoDBConnector();
mongoDBConnector.connect(); mongoDBConnector.connect();
UsersRepository usersRepository = new UsersRepository(mongoDBConnector);//todo: use injections UsersRepository usersRepository = new UsersRepository(mongoDBConnector);//todo: use injections
List<Object> all = usersRepository.getAll();
// MongoCollection<Document> usersCollection = database.getCollection("users"); int numberOfNewUsers = new Random().nextInt(50);
for(int i = 0; i < numberOfNewUsers; i++) {
// usersCollection.drop(); //todo: remove User user = new User(String.valueOf(UUID.randomUUID()), "mehow");
// usersRepository.add(user);
// usersCollection.insertOne(new Document(user.toMap())); }
// ArrayList<Document> usersDocuments = DBUtils.toList(usersCollection.find()); List<Object> all = usersRepository.getAll();
// List<Object> users = usersDocuments.stream()
// .map(User::new)
// .collect(Collectors.toList());
} }
} }
package Repository; package Repository;
import objects.User;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -7,6 +9,8 @@ import java.util.UUID; ...@@ -7,6 +9,8 @@ import java.util.UUID;
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
public interface Repository { public interface Repository {
public void get(UUID uuid); void get(UUID uuid);
public List<Object> getAll(); List<Object> getAll();
void add(User user); //todo: not user //todo: use generics?
} }
...@@ -4,7 +4,6 @@ import database.MongoDBConnector; ...@@ -4,7 +4,6 @@ import database.MongoDBConnector;
import objects.User; import objects.User;
import org.bson.Document; import org.bson.Document;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.function.Function; import java.util.function.Function;
...@@ -34,4 +33,9 @@ public class UsersRepository implements Repository { ...@@ -34,4 +33,9 @@ public class UsersRepository implements Repository {
.map((Function<Document, Object>) User::new) .map((Function<Document, Object>) User::new)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override
public void add(User user) {
mongoDBConnector.addDocument("users", new Document(user.toMap()));
}
} }
...@@ -43,4 +43,8 @@ public class MongoDBConnector implements DBConnector { ...@@ -43,4 +43,8 @@ public class MongoDBConnector implements DBConnector {
database.getCollection(collectionName).find(bsonDocument); database.getCollection(collectionName).find(bsonDocument);
} }
public void addDocument(String collectionName, Document document) {
database.getCollection(collectionName).insertOne(document);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment