\r
package cx.fbn.nevernote.sql;\r
\r
+import java.util.ArrayList;\r
import java.util.List;\r
\r
-import cx.fbn.nevernote.Global;\r
-import cx.fbn.nevernote.sql.requests.DeletedItemRequest;\r
-import cx.fbn.nevernote.sql.runners.DeletedItemRecord;\r
+import cx.fbn.nevernote.sql.driver.NSqlQuery;\r
+import cx.fbn.nevernote.utilities.ApplicationLogger;\r
import cx.fbn.nevernote.utilities.ListManager;\r
\r
public class DeletedTable {\r
ListManager parent;\r
- int id;\r
+ private final ApplicationLogger logger;\r
+ private final DatabaseConnection db;\r
+\r
\r
// Constructor\r
- public DeletedTable(int i) {\r
- id = i;\r
+ public DeletedTable(ApplicationLogger l,DatabaseConnection d) {\r
+ logger = l;\r
+ db = d;\r
}\r
// Create the table\r
public void createTable() {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.type = DeletedItemRequest.Create_Table;\r
- Global.dbRunner.addWork(request);\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ logger.log(logger.HIGH, "Creating table DeletedItems...");\r
+ if (!query.exec("Create table DeletedItems (guid varchar primary key, type varchar)"))\r
+ logger.log(logger.HIGH, "Table DeletedItems creation FAILED!!!"); \r
}\r
// Drop the table\r
public void dropTable() {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.type = DeletedItemRequest.Drop_Table;\r
- Global.dbRunner.addWork(request);\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ query.exec("Drop table DeletedItems");\r
}\r
// Add an item to the deleted table\r
public void addDeletedItem(String guid, String type) {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.string1 = guid;\r
- request.string2 = type;\r
- request.type = DeletedItemRequest.Add_Deleted_Item;\r
- Global.dbRunner.addWork(request);\r
- }\r
- public List<DeletedItemRecord> getAllDeleted() {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.type = DeletedItemRequest.Get_All;\r
- Global.dbRunner.addWork(request);\r
- Global.dbClientWait(id);\r
- DeletedItemRequest req = Global.dbRunner.deletedItemResponse.get(id).copy();\r
- return req.responseDeletedRecords;\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ query.prepare("Insert Into DeletedItems (guid, type) Values(:guid, :type)");\r
+ query.bindValue(":guid", guid);\r
+ query.bindValue(":type", type);\r
+ if (!query.exec()) {\r
+ logger.log(logger.MEDIUM, "Insert into deleted items failed.");\r
+ logger.log(logger.MEDIUM, query.lastError());\r
+ }\r
}\r
+ // Add an item to the deleted table\r
public void expungeDeletedItem(String guid, String type) {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.string1 = guid;\r
- request.string2 = type;\r
- request.type = DeletedItemRequest.Expunge_Record;\r
- Global.dbRunner.addWork(request);\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ query.prepare("delete from DeletedItems where guid=:guid and type=:type");\r
+ query.bindValue(":guid", guid);\r
+ query.bindValue(":type", type);\r
+ if (!query.exec()) {\r
+ logger.log(logger.MEDIUM, "Expunge deleted items failed.");\r
+ logger.log(logger.MEDIUM, query.lastError());\r
+ }\r
+ }\r
+ public List<DeletedItemRecord> getAllDeleted() {\r
+ logger.log(logger.HIGH, "Entering DeletedTable.getAllDeleted");\r
+ List<DeletedItemRecord> list = new ArrayList<DeletedItemRecord>();\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ query.exec("Select guid, type from DeletedItems");\r
+ while (query.next()) {\r
+ DeletedItemRecord record = new DeletedItemRecord();\r
+ record.guid = query.valueString(0);\r
+ record.type = query.valueString(1);\r
+ list.add(record);\r
+ }\r
+ logger.log(logger.HIGH, "Leaving DeletedTable.getAllDeleted");\r
+ return list;\r
+\r
}\r
public void expungeAllDeletedRecords() {\r
- DeletedItemRequest request = new DeletedItemRequest();\r
- request.requestor_id = id;\r
- request.type = DeletedItemRequest.Expunge_All;\r
- Global.dbRunner.addWork(request);\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ query.exec("delete from DeletedItems");\r
}\r
\r
}\r