12fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua/* 22fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * Copyright (C) 2012 The Android Open Source Project 32fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * 42fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * Licensed under the Apache License, Version 2.0 (the "License"); 52fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * you may not use this file except in compliance with the License. 62fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * You may obtain a copy of the License at 72fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * 82fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * http://www.apache.org/licenses/LICENSE-2.0 92fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * 102fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * Unless required by applicable law or agreed to in writing, software 112fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * distributed under the License is distributed on an "AS IS" BASIS, 122fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * See the License for the specific language governing permissions and 142fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua * limitations under the License. 152fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua */ 162fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 172fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huapackage android.bordeaux.services; 182fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 192fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaimport android.content.Context; 202fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaimport android.database.SQLException; 212fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaimport android.database.sqlite.SQLiteDatabase; 222fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaimport android.database.sqlite.SQLiteOpenHelper; 232fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaimport android.util.Log; 242fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 252fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua// Base Helper class for aggregator storage database 262fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Huaclass AggregatorStorage { 272fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua private static final String TAG = "AggregatorStorage"; 282fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua private static final String DATABASE_NAME = "aggregator"; 292fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua private static final int DATABASE_VERSION = 1; 302fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 312fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua protected DBHelper mDbHelper; 322fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua protected SQLiteDatabase mDatabase; 332fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 342fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua class DBHelper extends SQLiteOpenHelper { 352fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua private String mTableCmd; 362fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua private String mTableName; 372fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua DBHelper(Context context, String tableName, String tableCmd) { 382fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua super(context, DATABASE_NAME, null, DATABASE_VERSION); 392fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua mTableName = tableName; 402fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua mTableCmd = tableCmd; 412fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua } 422fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 432fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua @Override 442fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua public void onCreate(SQLiteDatabase db) { 452fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua db.execSQL(mTableCmd); 462fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua } 472fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 482fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua @Override 492fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 502fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua Log.w(TAG, "Upgrading database from version " + oldVersion + " to " 512fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua + newVersion + ", which will destroy all old data"); 522fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua 532fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua db.execSQL("DROP TABLE IF EXISTS " + mTableName); 542fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua onCreate(db); 552fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua } 562fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua } 572fc454f62ff5e11eb16a93a3d515a4e4fba89b5eWei Hua} 58