Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. package eg.edu.alexu.csd.oop.db;
  2.  
  3. import java.io.File;
  4. import java.sql.SQLException;
  5. import java.util.Stack;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8.  
  9. public class parse {
  10.  
  11. private static boolean checkparentheses(String s) {
  12. Stack<Object>check=new Stack();;
  13. for(int i=0;i<s.length();i++) {
  14. if(s.charAt(i)=='(') {
  15. check.add(s.charAt(i));
  16.  
  17. for(int j=i+1;j<s.length();j++) {
  18. if(s.charAt(j)==')'&&j!=i+1) {
  19. check.pop();
  20. break;
  21. }
  22. } }
  23. if(!check.isEmpty())
  24. return false;
  25. }
  26.  
  27. if(check.isEmpty())
  28. return true;
  29. return false;
  30. }
  31. public static void check(String s) throws SQLException {
  32. databasee d = new databasee();
  33. Pattern p = Pattern.compile("UPDATE|INSERT|DELETE|update|dalete|insert");
  34. if (s.contains("SELECT") || s.contains("select")) {
  35.  
  36. d.executeQuery(s);
  37. } else if (s.contains("CREATE") || s.contains("create")) {
  38.  
  39. d.createDatabase(s, false);
  40. } else if (s.contains("DROP") || s.contains("drop")) {
  41.  
  42. d.createDatabase(s, true);
  43. } else if (p.matcher(s).find()) {
  44. d.executeUpdateQuery(s);
  45. } else {
  46. System.out.println("Bad Query!");
  47. }
  48. }
  49.  
  50. public static void main(String[] args) {
  51. Object b = "INSERT FROM *";
  52. System.out.println(b instanceof Integer);
  53. }
  54.  
  55. public static boolean parser(String s) {
  56.  
  57. Pattern p = Pattern.compile("INSERT | UPDATE | DELETE | delete | update | insert | *");
  58. Matcher m = p.matcher(s);
  59. m.find();
  60. if (m.group().length() == 7 || s.contains("==")) {
  61. return false;
  62. }
  63. if(!checkparentheses(s))
  64. return false;
  65.  
  66. // type string instead of integer
  67. // p instanceof Integer
  68.  
  69. return true;
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement