1 21 22 package org.continuent.sequoia.controller.requests; 23 24 import java.util.regex.Pattern ; 25 26 33 public final class SequoiaRequestRegExp implements RequestRegExp 34 { 35 private static final String ALTER_REQUEST_PATTERN_STRING = "^alter.*"; 36 private static final String CREATE_REQUEST_PATTERN_STRING = "^(create|select\\s.+\\sinto\\s).*"; 37 private static final String DELETE_REQUEST_PATTERN_STRING = "^(delete|truncate).*"; 38 private static final String DROP_REQUEST_PATTERN_STRING = "^drop.*"; 39 private static final String INSERT_REQUEST_PATTERN_STRING = "^insert.*"; 40 private static final String SELECT_REQUEST_PATTERN_STRING = "^(\\s|\\()*select.*"; 41 private static final String SELECT_FOR_UPDATE_PATTERN_STRING = ".*select.*\\s+for\\s+update\\s*.*"; 42 private static final String STORED_PROCEDURE_PATTERN_STRING = "^\\{(\\s*\\?\\s*=)?\\s*call.*"; 43 private static final String UPDATE_REQUEST_PATTERN_STRING = "^update.*"; 44 private static final String UNKNOWN_READ_REQUEST_PATTERN_STRING = "^show.*"; 45 private static final String UNKNOWN_WRITE_REQUEST_PATTERN_STRING = "^(grant|lock|revoke|set).*"; 46 private static final String STATEMENT_EXECUTE_REQUEST_PATTERN_STRING = "^(explain\\s+analyze).*"; 47 private static final String UNAUTHORIZED_REQUEST_PATTERN_STRING = "^(shutdown|kill).*"; 48 49 54 private static final Pattern ALTER_REQUEST_PATTERN = Pattern 55 .compile( 56 ALTER_REQUEST_PATTERN_STRING, 57 Pattern.CASE_INSENSITIVE 58 | Pattern.DOTALL); 59 60 private static final Pattern CREATE_REQUEST_PATTERN = Pattern 61 .compile( 62 CREATE_REQUEST_PATTERN_STRING, 63 Pattern.CASE_INSENSITIVE 64 | Pattern.DOTALL); 65 66 private static final Pattern DELETE_REQUEST_PATTERN = Pattern 67 .compile( 68 DELETE_REQUEST_PATTERN_STRING, 69 Pattern.CASE_INSENSITIVE 70 | Pattern.DOTALL); 71 private static final Pattern DROP_REQUEST_PATTERN = Pattern 72 .compile( 73 DROP_REQUEST_PATTERN_STRING, 74 Pattern.CASE_INSENSITIVE 75 | Pattern.DOTALL); 76 77 private static final Pattern INSERT_REQUEST_PATTERN = Pattern 78 .compile( 79 INSERT_REQUEST_PATTERN_STRING, 80 Pattern.CASE_INSENSITIVE 81 | Pattern.DOTALL); 82 83 private static final Pattern SELECT_REQUEST_PATTERN = Pattern 84 .compile( 85 SELECT_REQUEST_PATTERN_STRING, 86 Pattern.CASE_INSENSITIVE 87 | Pattern.DOTALL); 88 private static final Pattern SELECT_FOR_UPDATE_PATTERN = Pattern 89 .compile( 90 SELECT_FOR_UPDATE_PATTERN_STRING, 91 Pattern.CASE_INSENSITIVE 92 | Pattern.DOTALL); 93 94 private static final Pattern STORED_PROCEDURE_PATTERN = Pattern 95 .compile( 96 STORED_PROCEDURE_PATTERN_STRING, 97 Pattern.CASE_INSENSITIVE 98 | Pattern.DOTALL); 99 100 private static final Pattern UPDATE_REQUEST_PATTERN = Pattern 101 .compile( 102 UPDATE_REQUEST_PATTERN_STRING, 103 Pattern.CASE_INSENSITIVE 104 | Pattern.DOTALL); 105 106 private static final Pattern UNKNOWN_READ_REQUEST_PATTERN = Pattern 107 .compile( 108 UNKNOWN_READ_REQUEST_PATTERN_STRING, 109 Pattern.CASE_INSENSITIVE 110 | Pattern.DOTALL); 111 112 private static final Pattern UNKNOWN_WRITE_REQUEST_PATTERN = Pattern 113 .compile( 114 UNKNOWN_WRITE_REQUEST_PATTERN_STRING, 115 Pattern.CASE_INSENSITIVE 116 | Pattern.DOTALL); 117 118 private static final Pattern STATEMENT_EXECUTE_REQUEST_PATTERN = Pattern 119 .compile( 120 STATEMENT_EXECUTE_REQUEST_PATTERN_STRING, 121 Pattern.CASE_INSENSITIVE 122 | Pattern.DOTALL); 123 124 private static final Pattern UNAUTHORIZED_REQUEST_PATTERN = Pattern 125 .compile( 126 UNAUTHORIZED_REQUEST_PATTERN_STRING, 127 Pattern.CASE_INSENSITIVE 128 | Pattern.DOTALL); 129 130 133 public Pattern getAlterRequestPattern() 134 { 135 return ALTER_REQUEST_PATTERN; 136 } 137 138 141 public Pattern getCreateRequestPattern() 142 { 143 return CREATE_REQUEST_PATTERN; 144 } 145 146 149 public Pattern getDeleteRequestPattern() 150 { 151 return DELETE_REQUEST_PATTERN; 152 } 153 154 157 public Pattern getDropRequestPattern() 158 { 159 return DROP_REQUEST_PATTERN; 160 } 161 162 165 public Pattern getInsertQueryPattern() 166 { 167 return INSERT_REQUEST_PATTERN; 168 } 169 170 173 public Pattern getSelectForUpdatePattern() 174 { 175 return SELECT_FOR_UPDATE_PATTERN; 176 } 177 178 181 public Pattern getSelectRequestPattern() 182 { 183 return SELECT_REQUEST_PATTERN; 184 } 185 186 189 public Pattern getStoredProcedurePattern() 190 { 191 return STORED_PROCEDURE_PATTERN; 192 } 193 194 197 public Pattern getUnknownReadRequestPattern() 198 { 199 return UNKNOWN_READ_REQUEST_PATTERN; 200 } 201 202 205 public Pattern getUnknownWriteRequestPattern() 206 { 207 return UNKNOWN_WRITE_REQUEST_PATTERN; 208 } 209 210 213 public Pattern getUpdateRequestPattern() 214 { 215 return UPDATE_REQUEST_PATTERN; 216 } 217 218 221 public Pattern getStatementExecuteRequestPattern() 222 { 223 return STATEMENT_EXECUTE_REQUEST_PATTERN; 224 } 225 226 229 public Pattern getUnauthorizedRequestsPattern() 230 { 231 return UNAUTHORIZED_REQUEST_PATTERN; 232 } 233 234 } 235 | Popular Tags |