Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- *
- * @author Yasser
- */
- import com.mongodb.BasicDBList;
- import com.mongodb.BasicDBObject;
- import com.mongodb.DB;
- import com.mongodb.DBCollection;
- import com.mongodb.DBCursor;
- import com.mongodb.DBObject;
- import com.mongodb.MongoClient;
- import java.net.UnknownHostException;
- import java.util.ArrayList;
- import java.util.List;
- import javax.swing.JOptionPane;
- public class Solver implements RmiInterface {
- static MongoClient mongo;
- static DB db;
- Solver() throws UnknownHostException {
- mongo = new MongoClient("localhost", 27017);
- db = mongo.getDB("myDB");
- }
- public boolean login() throws UnknownHostException {
- DBCollection collection= db.getCollection("User");
- String password;
- String username = JOptionPane.showInputDialog(null, "UserName: ");
- password = JOptionPane.showInputDialog(null, "Password: ");
- BasicDBObject search = new BasicDBObject();
- search.put("username", username);
- search.put("password", password);
- DBCursor cursor = collection.find(search);
- if (cursor.count() >= 1) {
- JOptionPane.showMessageDialog(null, "Hello: " + username);
- return true;
- } else {
- JOptionPane.showMessageDialog(null, "Invalid Credentials");
- }
- return false;
- }
- public static void register() throws UnknownHostException {
- DBCollection collection= db.getCollection("User");
- String username = null;
- String password = null, email;
- boolean UN = true;
- while (UN) {
- username = JOptionPane.showInputDialog(null, "UserName: ");
- BasicDBObject search = new BasicDBObject();
- search.put("username", username);
- DBCursor cursor = collection.find(search);
- if (cursor.count() == 1 || username == null) {
- JOptionPane.showMessageDialog(null, "Username invalid or taken please use another one");
- } else {
- UN = false;
- }
- }
- while (password == null) {
- password = JOptionPane.showInputDialog(null, "Enter Valid Password: ");
- }
- email = JOptionPane.showInputDialog(null, "Enter Email: ");
- BasicDBObject document = new BasicDBObject();
- document.put("username", username);
- document.put("password", password);
- document.put("email", email);
- collection.insert(document);
- JOptionPane.showMessageDialog(null, "Success");
- }
- public static boolean checkUnique(String toBeChecked, String document, String collectionName) throws UnknownHostException {
- DBCollection collection = db.getCollection(collectionName);
- BasicDBObject search = new BasicDBObject();
- search.put(document, toBeChecked);
- DBCursor cursor = collection.find(search);
- return cursor.count() < 1;
- }
- public static void UserMenu(String username) throws UnknownHostException {
- DBCollection collection;
- String choice = JOptionPane.showInputDialog(null, "1 for adding new board, 2 for viewing boards: ");
- switch (choice) {
- case "1":
- String boardName = null;
- while (boardName == null || !checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter a unique board name ");
- }
- collection = db.getCollection("Board");
- BasicDBObject document = new BasicDBObject();
- document.put("boardName", boardName);
- document.put("boardOwner", username);
- collection.insert(document);
- break;
- case "2":
- break;
- }
- }
- public static void addUserToBoard() throws UnknownHostException {
- DBCollection collection;
- String boardName = null;
- while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
- }
- String useradd = JOptionPane.showInputDialog(null, "Enter the user name you want to add ");
- collection = db.getCollection("User");
- BasicDBObject search = new BasicDBObject();
- search.put("username", useradd);
- DBCursor cursor = collection.find(search);
- if (!(cursor.count() >= 1)) {
- JOptionPane.showMessageDialog(null, "Incorrect username.");
- } else {
- collection = db.getCollection("Board");
- BasicDBObject newDocument = new BasicDBObject();
- newDocument.put("$addToSet", new BasicDBObject("boardUsers", useradd));
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardName", boardName);
- collection.update(searchQuery, newDocument, true, false);
- }
- }
- public static String checkNull(String checker) {
- String output = null;
- while (output == null) {
- output = JOptionPane.showInputDialog(null, "Enter valid " + checker + " : ");
- }
- return output;
- }
- public static void addPinToBoard() throws UnknownHostException {
- DBCollection collection;
- String boardName = null;
- while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
- }
- String pinTitle = checkNull("pin title");
- String pinDescr = checkNull("pin description");
- String pinColor = checkNull("pin color");
- collection = db.getCollection("Board");
- BasicDBObject newDocument = new BasicDBObject();
- BasicDBObject pin = new BasicDBObject();
- pin.put("pinTitle", pinTitle);
- pin.put("pinColor", pinColor);
- pin.put("pinDescription", pinDescr);
- newDocument.put("$addToSet", new BasicDBObject("boardPins", pin));
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardName", boardName);
- collection.update(searchQuery, newDocument, true, false);
- }
- public static void modifyPinToBoard() throws UnknownHostException {
- removePinFromBoard();
- addPinToBoard();
- }
- public static void viewUserBoards(String username) throws UnknownHostException {
- DBCollection collection;
- collection = db.getCollection("Board");
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardOwner", username);
- DBCursor cursor = collection.find(searchQuery);
- String boardsString = "Board Owner:\n";
- while (cursor.hasNext()) {
- DBObject obj = cursor.next();
- boardsString += obj.get("boardName") + "\n";
- }
- searchQuery = new BasicDBObject();
- searchQuery.put("boardUsers", username);
- cursor = collection.find(searchQuery);
- boardsString += "\nBoard User:\n";
- while (cursor.hasNext()) {
- DBObject obj = cursor.next();
- boardsString += obj.get("boardName") + "\n";
- }
- JOptionPane.showMessageDialog(null, boardsString);
- }
- public static void removePinFromBoard() throws UnknownHostException {
- DBCollection collection;
- String boardName = null;
- while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
- }
- String pinTitle = checkNull("pin title");
- collection = db.getCollection("Board");
- BasicDBObject newDocument = new BasicDBObject();
- BasicDBObject pin = new BasicDBObject();
- pin.put("pinTitle", pinTitle);
- newDocument.put("$pull", new BasicDBObject("boardPins", pin));
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardName", boardName);
- collection.update(searchQuery, newDocument, true, false);
- }
- public static void getBoardUsers() throws UnknownHostException {
- DBCollection collection;
- String boardName = null;
- while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
- }
- collection = db.getCollection("Board");
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardName", boardName);
- DBObject document = collection.findOne(searchQuery);
- BasicDBList list = (BasicDBList) document.get("boardUsers");
- String usersString = "";
- for (Object el : list) {
- usersString += (String) el + "\n";
- }
- JOptionPane.showMessageDialog(null, usersString);
- }
- public static void getBoardPins() throws UnknownHostException {
- DBCollection collection;
- String boardName = null;
- while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
- boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
- }
- collection = db.getCollection("Board");
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("boardName", boardName);
- DBObject document = collection.findOne(searchQuery);
- BasicDBList list = (BasicDBList) document.get("boardPins");
- List res = new ArrayList<>();
- String usersString = "";
- int count = 0;
- for (Object el : list) {
- usersString += ((++count) + ". " + "Pin Title: " + ((DBObject) el).get("pinTitle") + " " + "Pin Description: " + ((DBObject) el).get("pinDescription") + " " + "Pin Color: " + ((DBObject) el).get("pinColor") + "\n");
- }
- JOptionPane.showMessageDialog(null, usersString);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement