KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > driver > SequoiaJDBCRegExp


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2005 AmicoSoft, Inc. dba Emic Networks
4  * Contact: sequoia@continuent.org
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * Initial developer(s): Emmanuel Cecchet.
19  * Contributor(s): ______________________.
20  */

21
22 package org.continuent.sequoia.driver;
23
24 import java.util.regex.Pattern JavaDoc;
25
26 /**
27  * This class defines the regular expressions to map generic ANSI SQL requests
28  * to JDBC API calls.
29  *
30  * @author <a HREF="mailto:emmanuel.cecchet@continuent.com">Emmanuel Cecchet</a>
31  * @version 1.0
32  */

33 public final class SequoiaJDBCRegExp implements JDBCRegExp
34 {
35   /** Regexp patterns for Statement class */
36   private static final String JavaDoc BEGIN_PATTERN_STRING = "^begin.*";
37   private static final String JavaDoc COMMIT_PATTERN_STRING = "^commit.*";
38   private static final String JavaDoc RELEASE_SAVEPOINT_PATTERN_STRING = "^release\\s+savepoint.*";
39   private static final String JavaDoc ROLLBACK_PATTERN_STRING = "^rollback.*";
40   private static final String JavaDoc ROLLBACK_TO_SAVEPOINT_PATTERN_STRING = "^rollback\\s+to\\s+.*";
41   private static final String JavaDoc SET_ISOLATION_LEVEL_PATTERN_STRING = "^set.*transaction.*isolation\\s+level.*";
42   private static final String JavaDoc SET_READ_ONLY_TRANSACTION_PATTERN_STRING = "^set.*transaction\\s+read\\s+only.*";
43   private static final String JavaDoc SET_SAVEPOINT_PATTERN_STRING = "^savepoint.*";
44   private static final String JavaDoc SET_AUTOCOMMIT_1_PATTERN_STRING = "";
45
46   // Note that we use Patterns and not Matchers because these objects are
47
// potentially accessed concurrently and parsing could occur in parallel. This
48
// way, each caller will have to call Pattern.matcher() that will allocate a
49
// matcher for its own use in a thread-safe way.
50

51   private static final Pattern JavaDoc BEGIN_PATTERN = Pattern
52                                                                             .compile(
53                                                                                 BEGIN_PATTERN_STRING,
54                                                                                 Pattern.CASE_INSENSITIVE
55                                                                                     | Pattern.DOTALL);
56
57   private static final Pattern JavaDoc COMMIT_PATTERN = Pattern
58                                                                             .compile(
59                                                                                 COMMIT_PATTERN_STRING,
60                                                                                 Pattern.CASE_INSENSITIVE
61                                                                                     | Pattern.DOTALL);
62
63   private static final Pattern JavaDoc RELEASE_SAVEPOINT_PATTERN = Pattern
64                                                                             .compile(
65                                                                                 RELEASE_SAVEPOINT_PATTERN_STRING,
66                                                                                 Pattern.CASE_INSENSITIVE
67                                                                                     | Pattern.DOTALL);
68
69   private static final Pattern JavaDoc ROLLBACK_PATTERN = Pattern
70                                                                             .compile(
71                                                                                 ROLLBACK_PATTERN_STRING,
72                                                                                 Pattern.CASE_INSENSITIVE
73                                                                                     | Pattern.DOTALL);
74
75   private static final Pattern JavaDoc ROLLBACK_TO_SAVEPOINT_PATTERN = Pattern
76                                                                             .compile(
77                                                                                 ROLLBACK_TO_SAVEPOINT_PATTERN_STRING,
78                                                                                 Pattern.CASE_INSENSITIVE
79                                                                                     | Pattern.DOTALL);
80
81   private static final Pattern JavaDoc SET_ISOLATION_LEVEL_PATTERN = Pattern
82                                                                             .compile(
83                                                                                 SET_ISOLATION_LEVEL_PATTERN_STRING,
84                                                                                 Pattern.CASE_INSENSITIVE
85                                                                                     | Pattern.DOTALL);
86
87   private static final Pattern JavaDoc SET_READ_ONLY_TRANSACTION_PATTERN = Pattern
88                                                                             .compile(
89                                                                                 SET_READ_ONLY_TRANSACTION_PATTERN_STRING,
90                                                                                 Pattern.CASE_INSENSITIVE
91                                                                                     | Pattern.DOTALL);
92
93   private static final Pattern JavaDoc SET_SAVEPOINT_PATTERN = Pattern
94                                                                             .compile(
95                                                                                 SET_SAVEPOINT_PATTERN_STRING,
96                                                                                 Pattern.CASE_INSENSITIVE
97                                                                                     | Pattern.DOTALL);
98   private static final Pattern JavaDoc SET_AUTOCOMMIT_1_PATTERN = Pattern
99                                                                             .compile(
100                                                                                 SET_AUTOCOMMIT_1_PATTERN_STRING,
101                                                                                 Pattern.CASE_INSENSITIVE
102                                                                                     | Pattern.DOTALL);
103
104   /**
105    * @see org.continuent.sequoia.driver.JDBCRegExp#getBeginPattern()
106    */

107   public Pattern JavaDoc getBeginPattern()
108   {
109     return BEGIN_PATTERN;
110   }
111
112   /**
113    * @see org.continuent.sequoia.driver.JDBCRegExp#getCommitPattern()
114    */

115   public Pattern JavaDoc getCommitPattern()
116   {
117     return COMMIT_PATTERN;
118   }
119
120   /**
121    * @see org.continuent.sequoia.driver.JDBCRegExp#getReleaseSavepointPattern()
122    */

123   public Pattern JavaDoc getReleaseSavepointPattern()
124   {
125     return RELEASE_SAVEPOINT_PATTERN;
126   }
127
128   /**
129    * @see org.continuent.sequoia.driver.JDBCRegExp#getRollbackPattern()
130    */

131   public Pattern JavaDoc getRollbackPattern()
132   {
133     return ROLLBACK_PATTERN;
134   }
135
136   /**
137    * @see org.continuent.sequoia.driver.JDBCRegExp#getRollbackToSavepointPattern()
138    */

139   public Pattern JavaDoc getRollbackToSavepointPattern()
140   {
141     return ROLLBACK_TO_SAVEPOINT_PATTERN;
142   }
143
144   /**
145    * @see org.continuent.sequoia.driver.JDBCRegExp#getSetIsolationLevelPattern()
146    */

147   public Pattern JavaDoc getSetIsolationLevelPattern()
148   {
149     return SET_ISOLATION_LEVEL_PATTERN;
150   }
151
152   /**
153    * @see org.continuent.sequoia.driver.JDBCRegExp#getSetReadOnlyTransactionPattern()
154    */

155   public Pattern JavaDoc getSetReadOnlyTransactionPattern()
156   {
157     return SET_READ_ONLY_TRANSACTION_PATTERN;
158   }
159
160   /**
161    * @see org.continuent.sequoia.driver.JDBCRegExp#getSetSavepointPattern()
162    */

163   public Pattern JavaDoc getSetSavepointPattern()
164   {
165     return SET_SAVEPOINT_PATTERN;
166   }
167
168   /**
169    * @see org.continuent.sequoia.driver.JDBCRegExp#getSetAutocommit1Pattern()
170    */

171   public Pattern JavaDoc getSetAutocommit1Pattern()
172   {
173     return SET_AUTOCOMMIT_1_PATTERN;
174   }
175
176 }
177
Popular Tags