Advertisement
Guest User

Helpdesk APL

a guest
Jan 27th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. package nl.saxion.helpdesk;
  2.  
  3. import com.sun.org.apache.xml.internal.resolver.readers.ExtendedXMLCatalogReader;
  4.  
  5. import java.util.Scanner;
  6.  
  7. /**
  8. * APL for the helpdesk
  9. * You don't have to make any adjustments to this class
  10. * @author Evert Duipmans
  11. */
  12. public class APL {
  13. public static void main(String[] args) {
  14. Helpdesk helpdesk = new Helpdesk();
  15.  
  16. // Read all the data
  17. int numObjects = 0;
  18. try {
  19. numObjects = helpdesk.importData("i-desk.txt");
  20. } catch (HelpdeskException e) {
  21. System.err.println(e.getMessage());
  22. }
  23. System.out.println("Read: " + numObjects + " objects.");
  24.  
  25. boolean closing = false;
  26. while (!closing) {
  27. System.out.println("");
  28. System.out.println("-----------");
  29. System.out.println("I-Desk");
  30. System.out.println("-----------");
  31.  
  32. // User should first login
  33. if (!helpdesk.isLoggedOn()) {
  34. System.out.print("Please give your username: ");
  35. String inputUser = askString();
  36. System.out.print("Please give your password: ");
  37. String inputPassword = askString();
  38. if (!helpdesk.login(inputUser, inputPassword)) {
  39. System.out.println("ERROR: Cannot login user. Invalid credentials");
  40. }
  41. } else {
  42. // Show menu
  43. System.out.println("1. Add ticket");
  44. System.out.println("2. Resolve ticket");
  45. System.out.println("3. Show my tickets");
  46. System.out.println("4. Show open tickets");
  47. System.out.println("5. Show all tickets");
  48. System.out.println("6. Show users");
  49. System.out.println("7. Export data");
  50. System.out.println("8. Logout");
  51. System.out.println("9. Exit");
  52. System.out.println("");
  53.  
  54. // Ask the user
  55. System.out.print("Choice: ");
  56. int choice = askNumber();
  57. System.out.println("-----------");
  58.  
  59. // Process choice
  60. if (choice == 1) {
  61. System.out.println("Add ticket:");
  62. System.out.println("Please enter the type (hardware or software):");
  63. String type = askString();
  64.  
  65. while (!type.equalsIgnoreCase("hardware") && !type.equalsIgnoreCase("software")) {
  66. type = askString();
  67. }
  68.  
  69. System.out.println("Please enter the description:");
  70. String description = askString();
  71.  
  72. if (type.equalsIgnoreCase("hardware")) {
  73. System.out.println("Please enter the machineid:");
  74. String machineId = askString();
  75. int ticketNumber = helpdesk.addHardwareTicket(description, machineId);
  76. System.out.println("New ticket is created with number: " + ticketNumber);
  77. } else {
  78. System.out.println("Please enter the software name:");
  79. String softwareName = askString();
  80. int ticketNumber = helpdesk.addSoftwareTicket(description, softwareName);
  81. System.out.println("New ticket is created with number: " + ticketNumber);
  82. }
  83. } else if (choice == 2) {
  84. System.out.println("Resolve ticket:");
  85. System.out.println("Please enter the ticket number:");
  86. int number = askNumber();
  87. System.out.println("Please enter the response:");
  88. String response = askString();
  89.  
  90. try {
  91. helpdesk.resolveTicket(number, response);
  92. } catch (HelpdeskException e) {
  93. System.err.println(e.getMessage());
  94. }
  95. } else if (choice == 3) {
  96. System.out.println("Show my tickets:");
  97. helpdesk.printMyTickets();
  98. } else if (choice == 4) {
  99. System.out.println("Show open tickets:");
  100. try {
  101. helpdesk.printOpenTickets();
  102. } catch (HelpdeskException e) {
  103. System.err.println(e.getMessage());
  104. }
  105. } else if (choice == 5) {
  106. System.out.println("Show all tickets:");
  107. try {
  108. helpdesk.printAllTickets();
  109. } catch (HelpdeskException e) {
  110. System.err.println(e.getMessage());
  111. }
  112. } else if (choice == 6) {
  113. System.out.println("Show all users:");
  114. try {
  115. helpdesk.printUsers();
  116. } catch (HelpdeskException e) {
  117. System.err.println(e.getMessage());
  118. }
  119. } else if (choice == 7) {
  120. System.out.println("Export data:");
  121. System.out.println("Please enter the filename:");
  122. String filename = askString();
  123. helpdesk.exportData(filename);
  124. } else if (choice == 8) {
  125. helpdesk.logout();
  126. } else if (choice == 9){
  127. closing = true;
  128. } else {
  129. System.out.println("Invalid choice.");
  130. }
  131. }
  132. }
  133. }
  134.  
  135. /**
  136. * Ask the user to enter a number. The system will ask the user again if incorrect input is provided by the user
  137. * @return The entered number
  138. */
  139. private static int askNumber() {
  140. int enteredNumber = -1;
  141. boolean askAgain = true;
  142. while (askAgain) {
  143. Scanner input = new Scanner(System.in);
  144. try {
  145. enteredNumber = Integer.parseInt(input.nextLine());
  146. askAgain = false;
  147. } catch (NumberFormatException e) {
  148. System.out.print("Error: Please enter a number.");
  149. askAgain = true;
  150. }
  151. }
  152. return enteredNumber;
  153. }
  154.  
  155. /**
  156. * Aks the user for a string. The system will ask again if invalid input is provided by the user
  157. * @return The entered String
  158. */
  159. public static String askString() {
  160. String enteredString = "";
  161. boolean askAgain = true;
  162. while (askAgain) {
  163. Scanner input = new Scanner(System.in);
  164. enteredString = input.nextLine();
  165. if (enteredString.length() != 0) {
  166. askAgain = false;
  167. } else {
  168. System.out.print("Error: Please enter at least one character.");
  169. }
  170. }
  171. return enteredString;
  172. }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement