Advertisement
Guest User

Untitled

a guest
Apr 20th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.05 KB | None | 0 0
  1.  
  2. /*
  3. * To change this license header, choose License Headers in Project Properties.
  4. * To change this template file, choose Tools | Templates
  5. * and open the template in the editor.
  6. */
  7. /**
  8. *
  9. * @author Yasser
  10. */
  11. import com.mongodb.BasicDBList;
  12. import com.mongodb.BasicDBObject;
  13. import com.mongodb.DB;
  14. import com.mongodb.DBCollection;
  15. import com.mongodb.DBCursor;
  16. import com.mongodb.DBObject;
  17. import com.mongodb.MongoClient;
  18. import java.net.UnknownHostException;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. import javax.swing.JOptionPane;
  22.  
  23. public class Solver implements RmiInterface {
  24.  
  25. static MongoClient mongo;
  26. static DB db;
  27.  
  28.  
  29. Solver() throws UnknownHostException {
  30. mongo = new MongoClient("localhost", 27017);
  31. db = mongo.getDB("myDB");
  32. }
  33.  
  34. public boolean login() throws UnknownHostException {
  35. DBCollection collection= db.getCollection("User");
  36. String password;
  37. String username = JOptionPane.showInputDialog(null, "UserName: ");
  38. password = JOptionPane.showInputDialog(null, "Password: ");
  39. BasicDBObject search = new BasicDBObject();
  40. search.put("username", username);
  41. search.put("password", password);
  42. DBCursor cursor = collection.find(search);
  43.  
  44. if (cursor.count() >= 1) {
  45. JOptionPane.showMessageDialog(null, "Hello: " + username);
  46. return true;
  47. } else {
  48. JOptionPane.showMessageDialog(null, "Invalid Credentials");
  49. }
  50. return false;
  51. }
  52.  
  53. public static void register() throws UnknownHostException {
  54. DBCollection collection= db.getCollection("User");
  55. String username = null;
  56. String password = null, email;
  57. boolean UN = true;
  58. while (UN) {
  59. username = JOptionPane.showInputDialog(null, "UserName: ");
  60. BasicDBObject search = new BasicDBObject();
  61. search.put("username", username);
  62. DBCursor cursor = collection.find(search);
  63. if (cursor.count() == 1 || username == null) {
  64. JOptionPane.showMessageDialog(null, "Username invalid or taken please use another one");
  65. } else {
  66. UN = false;
  67. }
  68. }
  69. while (password == null) {
  70. password = JOptionPane.showInputDialog(null, "Enter Valid Password: ");
  71. }
  72.  
  73. email = JOptionPane.showInputDialog(null, "Enter Email: ");
  74.  
  75. BasicDBObject document = new BasicDBObject();
  76. document.put("username", username);
  77. document.put("password", password);
  78. document.put("email", email);
  79. collection.insert(document);
  80. JOptionPane.showMessageDialog(null, "Success");
  81. }
  82.  
  83. public static boolean checkUnique(String toBeChecked, String document, String collectionName) throws UnknownHostException {
  84.  
  85. DBCollection collection = db.getCollection(collectionName);
  86. BasicDBObject search = new BasicDBObject();
  87. search.put(document, toBeChecked);
  88. DBCursor cursor = collection.find(search);
  89. return cursor.count() < 1;
  90.  
  91. }
  92.  
  93. public static void UserMenu(String username) throws UnknownHostException {
  94. DBCollection collection;
  95. String choice = JOptionPane.showInputDialog(null, "1 for adding new board, 2 for viewing boards: ");
  96. switch (choice) {
  97. case "1":
  98. String boardName = null;
  99. while (boardName == null || !checkUnique(boardName, "boardName", "Board")) {
  100. boardName = JOptionPane.showInputDialog(null, "Enter a unique board name ");
  101.  
  102. }
  103. collection = db.getCollection("Board");
  104. BasicDBObject document = new BasicDBObject();
  105. document.put("boardName", boardName);
  106. document.put("boardOwner", username);
  107. collection.insert(document);
  108. break;
  109. case "2":
  110.  
  111. break;
  112.  
  113. }
  114.  
  115. }
  116.  
  117. public static void addUserToBoard() throws UnknownHostException {
  118. DBCollection collection;
  119. String boardName = null;
  120. while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
  121. boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
  122. }
  123. String useradd = JOptionPane.showInputDialog(null, "Enter the user name you want to add ");
  124. collection = db.getCollection("User");
  125. BasicDBObject search = new BasicDBObject();
  126. search.put("username", useradd);
  127. DBCursor cursor = collection.find(search);
  128. if (!(cursor.count() >= 1)) {
  129. JOptionPane.showMessageDialog(null, "Incorrect username.");
  130. } else {
  131. collection = db.getCollection("Board");
  132. BasicDBObject newDocument = new BasicDBObject();
  133. newDocument.put("$addToSet", new BasicDBObject("boardUsers", useradd));
  134. BasicDBObject searchQuery = new BasicDBObject();
  135. searchQuery.put("boardName", boardName);
  136. collection.update(searchQuery, newDocument, true, false);
  137.  
  138. }
  139. }
  140.  
  141. public static String checkNull(String checker) {
  142. String output = null;
  143. while (output == null) {
  144. output = JOptionPane.showInputDialog(null, "Enter valid " + checker + " : ");
  145. }
  146. return output;
  147. }
  148.  
  149. public static void addPinToBoard() throws UnknownHostException {
  150. DBCollection collection;
  151. String boardName = null;
  152. while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
  153. boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
  154. }
  155. String pinTitle = checkNull("pin title");
  156. String pinDescr = checkNull("pin description");
  157. String pinColor = checkNull("pin color");
  158.  
  159. collection = db.getCollection("Board");
  160. BasicDBObject newDocument = new BasicDBObject();
  161. BasicDBObject pin = new BasicDBObject();
  162. pin.put("pinTitle", pinTitle);
  163. pin.put("pinColor", pinColor);
  164. pin.put("pinDescription", pinDescr);
  165. newDocument.put("$addToSet", new BasicDBObject("boardPins", pin));
  166. BasicDBObject searchQuery = new BasicDBObject();
  167. searchQuery.put("boardName", boardName);
  168. collection.update(searchQuery, newDocument, true, false);
  169.  
  170. }
  171.  
  172. public static void modifyPinToBoard() throws UnknownHostException {
  173. removePinFromBoard();
  174. addPinToBoard();
  175. }
  176.  
  177. public static void viewUserBoards(String username) throws UnknownHostException {
  178. DBCollection collection;
  179. collection = db.getCollection("Board");
  180. BasicDBObject searchQuery = new BasicDBObject();
  181. searchQuery.put("boardOwner", username);
  182. DBCursor cursor = collection.find(searchQuery);
  183. String boardsString = "Board Owner:\n";
  184. while (cursor.hasNext()) {
  185. DBObject obj = cursor.next();
  186. boardsString += obj.get("boardName") + "\n";
  187. }
  188. searchQuery = new BasicDBObject();
  189. searchQuery.put("boardUsers", username);
  190. cursor = collection.find(searchQuery);
  191. boardsString += "\nBoard User:\n";
  192. while (cursor.hasNext()) {
  193. DBObject obj = cursor.next();
  194. boardsString += obj.get("boardName") + "\n";
  195. }
  196. JOptionPane.showMessageDialog(null, boardsString);
  197. }
  198.  
  199. public static void removePinFromBoard() throws UnknownHostException {
  200. DBCollection collection;
  201. String boardName = null;
  202. while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
  203. boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
  204. }
  205. String pinTitle = checkNull("pin title");
  206. collection = db.getCollection("Board");
  207. BasicDBObject newDocument = new BasicDBObject();
  208. BasicDBObject pin = new BasicDBObject();
  209. pin.put("pinTitle", pinTitle);
  210. newDocument.put("$pull", new BasicDBObject("boardPins", pin));
  211. BasicDBObject searchQuery = new BasicDBObject();
  212. searchQuery.put("boardName", boardName);
  213. collection.update(searchQuery, newDocument, true, false);
  214.  
  215. }
  216.  
  217. public static void getBoardUsers() throws UnknownHostException {
  218. DBCollection collection;
  219. String boardName = null;
  220. while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
  221. boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
  222. }
  223. collection = db.getCollection("Board");
  224. BasicDBObject searchQuery = new BasicDBObject();
  225. searchQuery.put("boardName", boardName);
  226. DBObject document = collection.findOne(searchQuery);
  227. BasicDBList list = (BasicDBList) document.get("boardUsers");
  228. String usersString = "";
  229. for (Object el : list) {
  230. usersString += (String) el + "\n";
  231. }
  232. JOptionPane.showMessageDialog(null, usersString);
  233. }
  234.  
  235. public static void getBoardPins() throws UnknownHostException {
  236. DBCollection collection;
  237. String boardName = null;
  238. while (boardName == null || checkUnique(boardName, "boardName", "Board")) {
  239. boardName = JOptionPane.showInputDialog(null, "Enter your board name ");
  240. }
  241. collection = db.getCollection("Board");
  242. BasicDBObject searchQuery = new BasicDBObject();
  243. searchQuery.put("boardName", boardName);
  244. DBObject document = collection.findOne(searchQuery);
  245. BasicDBList list = (BasicDBList) document.get("boardPins");
  246. List res = new ArrayList<>();
  247. String usersString = "";
  248. int count = 0;
  249. for (Object el : list) {
  250. usersString += ((++count) + ". " + "Pin Title: " + ((DBObject) el).get("pinTitle") + " " + "Pin Description: " + ((DBObject) el).get("pinDescription") + " " + "Pin Color: " + ((DBObject) el).get("pinColor") + "\n");
  251. }
  252. JOptionPane.showMessageDialog(null, usersString);
  253. }
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement