001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.apache.servicemix.jdbc;
018
019 /**
020 * @version $Revision: 1.4 $
021 *
022 * @org.apache.xbean.XBean element="statements"
023 *
024 */
025 public class Statements {
026
027 protected String storeTableName = "SM_STORE";
028 protected String binaryDataType = "BLOB";
029 protected String idDataType = "VARCHAR(255)";
030 private String tablePrefix = "";
031 private String storeDataStatement;
032 private String updateDataStatement;
033 private String removeDataStatement;
034 private String findDataStatement;
035 private String findAllIdsStatement;
036 private String findAllDataStatement;
037 private String countStatement;
038 private String[] createSchemaStatements;
039 private String[] dropSchemaStatements;
040
041 public String[] getCreateSchemaStatements() {
042 if (createSchemaStatements == null) {
043 createSchemaStatements = new String[] {
044 "CREATE TABLE " + getFullStoreTableName() + "(" + "ID " + idDataType + " NOT NULL"
045 + ", DATA " + binaryDataType
046 + ", PRIMARY KEY ( ID ) )",
047 };
048 }
049 return createSchemaStatements;
050 }
051
052 public String[] getDropSchemaStatements() {
053 if (dropSchemaStatements == null) {
054 dropSchemaStatements = new String[] {
055 "DROP TABLE " + getFullStoreTableName() + "",
056 };
057 }
058 return dropSchemaStatements;
059 }
060
061 public String getStoreDataStatement() {
062 if (storeDataStatement == null) {
063 storeDataStatement = "INSERT INTO " + getFullStoreTableName()
064 + "(ID, DATA) VALUES (?, ?)";
065 }
066 return storeDataStatement;
067 }
068
069 public String getUpdateDataStatement() {
070 if (updateDataStatement == null) {
071 updateDataStatement = "UPDATE " + getFullStoreTableName() + " SET DATA=? WHERE ID=?";
072 }
073 return updateDataStatement;
074 }
075
076 public String getRemoveDataStatement() {
077 if (removeDataStatement == null) {
078 removeDataStatement = "DELETE FROM " + getFullStoreTableName() + " WHERE ID=?";
079 }
080 return removeDataStatement;
081 }
082
083 public String getFindDataStatement() {
084 if (findDataStatement == null) {
085 findDataStatement = "SELECT DATA FROM " + getFullStoreTableName() + " WHERE ID=?";
086 }
087 return findDataStatement;
088 }
089
090 public String getFindAllIdsStatement() {
091 if (findAllIdsStatement == null) {
092 findAllIdsStatement = "SELECT ID FROM " + getFullStoreTableName()
093 + " ORDER BY ID";
094 }
095 return findAllIdsStatement;
096 }
097
098 public String getFindAllDataStatement() {
099 if (findAllDataStatement == null) {
100 findAllDataStatement = "SELECT ID, DATA FROM " + getFullStoreTableName()
101 + " WHERE ORDER BY ID";
102 }
103 return findAllDataStatement;
104 }
105
106 public String getCountStatement() {
107 if (countStatement == null) {
108 countStatement = "SELECT COUNT(ID) FROM " + getFullStoreTableName();
109 }
110 return countStatement;
111 }
112
113 public String getFullStoreTableName() {
114 return getTablePrefix() + getStoreTableName();
115 }
116
117 /**
118 * @return Returns the messageDataType.
119 */
120 public String getBinaryDataType() {
121 return binaryDataType;
122 }
123
124 /**
125 * @param messageDataType
126 * The messageDataType to set.
127 */
128 public void setBinaryDataType(String messageDataType) {
129 this.binaryDataType = messageDataType;
130 }
131
132 /**
133 * @return Returns the storeTableName.
134 */
135 public String getStoreTableName() {
136 return storeTableName;
137 }
138
139 /**
140 * @param storeTableName
141 * The storeTableName to set.
142 */
143 public void setStoreTableName(String storeTableName) {
144 this.storeTableName = storeTableName;
145 }
146
147 /**
148 * @return Returns the idDataType.
149 */
150 public String getIdDataType() {
151 return idDataType;
152 }
153
154 /**
155 * @param idDataType
156 * The idDataType to set.
157 */
158 public void setIdDataType(String msgIdDataType) {
159 this.idDataType = msgIdDataType;
160 }
161
162 /**
163 * @return Returns the tablePrefix.
164 */
165 public String getTablePrefix() {
166 return tablePrefix;
167 }
168
169 /**
170 * @param tablePrefix
171 * The tablePrefix to set.
172 */
173 public void setTablePrefix(String tablePrefix) {
174 this.tablePrefix = tablePrefix;
175 }
176
177 public void setStoreDataStatement(String addMessageStatment) {
178 this.storeDataStatement = addMessageStatment;
179 }
180
181 public void setCreateSchemaStatements(String[] createSchemaStatments) {
182 this.createSchemaStatements = createSchemaStatments;
183 }
184
185 public void setDropSchemaStatements(String[] dropSchemaStatments) {
186 this.dropSchemaStatements = dropSchemaStatments;
187 }
188
189 public void setFindAllDataStatement(String findAllMessagesStatment) {
190 this.findAllDataStatement = findAllMessagesStatment;
191 }
192
193 public void setFindDataStatement(String findMessageStatment) {
194 this.findDataStatement = findMessageStatment;
195 }
196
197 public void setRemoveDataStatement(String removeMessageStatment) {
198 this.removeDataStatement = removeMessageStatment;
199 }
200
201 public void setUpdateDataStatement(String updateMessageStatment) {
202 this.updateDataStatement = updateMessageStatment;
203 }
204
205 public void setFindAllIdsStatement(String findAllIdsStatement) {
206 this.findAllIdsStatement = findAllIdsStatement;
207 }
208
209 public void setCountStatement(String getCountStatement) {
210 this.countStatement = getCountStatement;
211 }
212
213 }