deletedTable.addDeletedItem(new Long(id).toString(), "SharedNotebook");\r
}\r
}\r
+ // Delete the notebook based on a id\r
+ public void expungeNotebookByGuid(String id, boolean needsSync) {\r
+ boolean check;\r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+\r
+ check = query.prepare("delete from SharedNotebook "\r
+ +"where guid=:id");\r
+ if (!check) {\r
+ logger.log(logger.EXTREME, "SharedNotebook SQL delete by notebook guid prepare has failed.");\r
+ logger.log(logger.EXTREME, query.lastError().toString());\r
+ }\r
+ query.bindValue(":id", id);\r
+ check = query.exec();\r
+ if (!check) \r
+ logger.log(logger.MEDIUM, "SharedNotebook delete by notebook guid failed.");\r
+ \r
+ // Signal the parent that work needs to be done\r
+ if (needsSync) {\r
+ DeletedTable deletedTable = new DeletedTable(logger, db);\r
+ deletedTable.addDeletedItem(new Long(id).toString(), "SharedNotebook");\r
+ }\r
+ }\r
\r
\r
// Update a notebook\r
\r
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");\r
\r
+ StringBuilder serviceCreated = new StringBuilder(simple.format(tempNotebook.getServiceCreated())); \r
NSqlQuery query = new NSqlQuery(db.getConnection());\r
check = query.prepare("Update SharedNotebook set id=:id, userid=:userid, notebookGuid=:notebook, "\r
- + "email=:email, notebookModifiable=:mod, requireLogin=:rlogin, serviceCreated=:created, "\r
+ + "email=:email, notebookModifiable=:mod, requireLogin=:rlogin, serviceCreated=:serviceCreated, "\r
+ "shareKey=:shareKey, username=:username, isDirty=:isdirty");\r
query.bindValue(":id", tempNotebook.getId());\r
query.bindValue(":userid", tempNotebook.getUserId());\r
query.bindValue(":email", tempNotebook.getEmail());\r
query.bindValue(":mod", tempNotebook.isNotebookModifiable());\r
query.bindValue(":rlogin", tempNotebook.isRequireLogin());\r
+ query.bindValue(":serviceCreated", serviceCreated.toString());\r
query.bindValue(":shareKey", tempNotebook.getShareKey());\r
query.bindValue(":username", tempNotebook.getUsername());\r
-\r
- StringBuilder serviceCreated = new StringBuilder(simple.format(tempNotebook.getServiceCreated())); \r
- query.bindValue(":serviceCreated", serviceCreated.toString());\r
\r
query.bindValue(":isDirty", isDirty);\r
\r
return index;\r
} \r
\r
+ // Load notebooks from the database\r
+ public List<SharedNotebook> getForNotebook(String guid) {\r
+ SharedNotebook tempNotebook;\r
+ List<SharedNotebook> index = new ArrayList<SharedNotebook>();\r
+ boolean check;\r
+ \r
+ NSqlQuery query = new NSqlQuery(db.getConnection());\r
+ \r
+ check = query.prepare("Select id, userid, notebookGuid, email, notebookModifiable, requireLogin, " +\r
+ "serviceCreated, "+\r
+ "shareKey, username from SharedNotebook where notebookGuid=:notebookGuid ");\r
+ if (!check)\r
+ logger.log(logger.EXTREME, "SharedNotebook getForNotebook SQL prepare has failed.");\r
+ query.bindValue(":notebookGuid", guid);\r
+ check = query.exec();\r
+ if (!check)\r
+ logger.log(logger.EXTREME, "SharedNotebook getForNotebook SQL exec has failed.");\r
+ \r
+ while (query.next()) {\r
+ tempNotebook = new SharedNotebook();\r
+ tempNotebook.setId(query.valueLong(0));\r
+ tempNotebook.setUserId(query.valueInteger(1));\r
+ tempNotebook.setNotebookGuid(query.valueString(2));\r
+ tempNotebook.setEmail(query.valueString(3));\r
+ tempNotebook.setNotebookModifiable(query.valueBoolean(4,false));\r
+ tempNotebook.setRequireLogin(query.valueBoolean(5,true));\r
+ DateFormat indfm = null;\r
+ try {\r
+ indfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");\r
+ } catch (Exception e) { }\r
+ try {\r
+ tempNotebook.setServiceCreated(indfm.parse(query.valueString(6)).getTime());\r
+ } catch (ParseException e) {\r
+ e.printStackTrace();\r
+ }\r
+ tempNotebook.setShareKey(query.valueString(7));\r
+ tempNotebook.setUsername(query.valueString(8));\r
+\r
+ index.add(tempNotebook); \r
+ } \r
+ return index;\r
+ } \r
+\r
\r
// Get a list of shared notebooks that need to be updated\r
public List <Long> getDirtyIds() {\r