Skip to content

Commit e5dd4bf

Browse files
Merge pull request amitshekhariitbhu#123 from peanutwolf/feature_db_delete
Add support for database delete
2 parents ca64294 + 3077e72 commit e5dd4bf

File tree

3 files changed

+63
-14
lines changed

3 files changed

+63
-14
lines changed

debug-db/src/main/assets/app.js

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,21 @@ function downloadDb() {
8282
}
8383
}
8484

85+
function deleteDb() {
86+
if (isDatabaseSelected) {
87+
$.ajax({url: "deleteDb", success: function(result){
88+
result = JSON.parse(result);
89+
if(result.isSuccessful){
90+
console.log("Database deleted successfully");
91+
showSuccessInfo("Database Deleted Successfully");
92+
getDBList();
93+
} else {
94+
console.log("Database delete failed");
95+
showErrorInfo("Database Delete Failed");
96+
}
97+
}});
98+
}
99+
}
85100

86101
function getDBList() {
87102

@@ -115,21 +130,26 @@ function openDatabaseAndGetTableList(db, isDownloadable) {
115130
if("APP_SHARED_PREFERENCES" == db) {
116131
$('#run-query').removeClass('active');
117132
$('#run-query').addClass('disabled');
118-
$('#selected-db-info').removeClass('active');
119-
$('#selected-db-info').addClass('disabled');
133+
$('#selected-db-download').removeClass('active');
134+
$('#selected-db-delete').removeClass('active');
135+
$('#selected-db-download').addClass('disabled');
136+
$('#selected-db-delete').addClass('disabled');
120137
isDatabaseSelected = false;
121138
$("#selected-db-info").text("SharedPreferences");
122139
} else {
123140
$('#run-query').removeClass('disabled');
124141
$('#run-query').addClass('active');
142+
$("#selected-db-info").text("Selected Database : "+db);
125143
if("true" == isDownloadable) {
126-
$('#selected-db-info').removeClass('disabled');
127-
$('#selected-db-info').addClass('active');
128-
$("#selected-db-info").text("Export Selected Database : "+db);
144+
$('#selected-db-download').addClass('active');
145+
$('#selected-db-delete').addClass('active');
146+
$('#selected-db-download').removeClass('disabled');
147+
$('#selected-db-delete').removeClass('disabled');
129148
} else {
130-
$('#selected-db-info').removeClass('active');
131-
$('#selected-db-info').addClass('disabled');
132-
$("#selected-db-info").text("Selected Database : "+db);
149+
$('#selected-db-download').removeClass('active');
150+
$('#selected-db-delete').removeClass('active');
151+
$('#selected-db-download').addClass('disabled');
152+
$('#selected-db-delete').addClass('disabled');
133153
}
134154
isDatabaseSelected = true;
135155
}
@@ -141,11 +161,7 @@ function openDatabaseAndGetTableList(db, isDownloadable) {
141161
var tableList = result.rows;
142162
var dbVersion = result.dbVersion;
143163
if("APP_SHARED_PREFERENCES" != db) {
144-
if("true" == isDownloadable) {
145-
$("#selected-db-info").text("Export Selected Database : "+db +" Version : "+dbVersion);
146-
} else {
147164
$("#selected-db-info").text("Selected Database : "+db +" Version : "+dbVersion);
148-
}
149165
}
150166
$('#table-list').empty()
151167
for(var count = 0; count < tableList.length; count++){

debug-db/src/main/assets/index.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,13 @@
121121
<label for="query">Query</label>
122122
<input class="form-control" id="query">
123123
</div>
124-
<button id="selected-db-info" type="button" onclick="downloadDb()" class="btn btn-info">
125-
Welcome
124+
<button id="selected-db-download" type="button" onclick="downloadDb()" class="btn btn-info">
125+
Download
126126
</button>
127+
<button id="selected-db-delete" type="button" onclick="deleteDb()" class="btn btn-info">
128+
Delete
129+
</button>
130+
<label id="selected-db-info" class="panel-info">Welcome</label>
127131
<button id="run-query" type="submit" onclick="queryFunction()"
128132
class="btn btn-primary pull-right disabled">Run
129133
Query

debug-db/src/main/java/com/amitshekhar/server/RequestHandler.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ public void handle(Socket socket) throws IOException {
210210
} else if (route.startsWith("query")) {
211211
final String response = executeQueryAndGetResponse(route);
212212
bytes = response.getBytes();
213+
} else if (route.startsWith("deleteDb")) {
214+
final String response = deleteSelectedDatabaseAndGetResponse();
215+
bytes = response.getBytes();
213216
} else if (route.startsWith("downloadDb")) {
214217
bytes = Utils.getDatabase(mSelectedDatabase, mDatabaseFiles);
215218
} else {
@@ -593,4 +596,30 @@ private String deleteTableDataAndGetResponse(String route) {
593596
}
594597
}
595598

599+
private String deleteSelectedDatabaseAndGetResponse() {
600+
UpdateRowResponse response = new UpdateRowResponse();
601+
602+
if(mSelectedDatabase == null || !mDatabaseFiles.containsKey(mSelectedDatabase)){
603+
response.isSuccessful = false;
604+
return mGson.toJson(response);
605+
}
606+
607+
try {
608+
closeDatabase();
609+
610+
File dbFile = mDatabaseFiles.get(mSelectedDatabase).first;
611+
response.isSuccessful = dbFile.delete();
612+
613+
if(response.isSuccessful){
614+
mDatabaseFiles.remove(mSelectedDatabase);
615+
mCustomDatabaseFiles.remove(mSelectedDatabase);
616+
}
617+
618+
return mGson.toJson(response);
619+
} catch (Exception e) {
620+
e.printStackTrace();
621+
response.isSuccessful = false;
622+
return mGson.toJson(response);
623+
}
624+
}
596625
}

0 commit comments

Comments
 (0)