3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
19 /*@file: IntBookmarkPresentationModel.cpp
20 *@brief: Used to define BookmarkPresentationModel
24 #include "IntBookmarkData.h"
25 #include "IntBookmarkPresentationModel.h"
28 using namespace Tizen::App;
29 using namespace Tizen::Base;
30 using namespace Tizen::Base::Collection;
31 using namespace Tizen::Base::Utility;
32 using namespace Tizen::Io;
33 using namespace Tizen::Locales;
34 using namespace Tizen::System;
36 extern const wchar_t* BOOKMARK_URL_TABLE;
37 //extern const wchar_t* BOOKMARK_FOLDER_TABLE;
38 extern const wchar_t* DEFAULT_VALUE_PARENTID ;
40 BookmarkPresentationModel* BookmarkPresentationModel::__pBookmarkPresentationModel = null;
42 BookmarkPresentationModel::BookmarkPresentationModel(void)
47 BookmarkPresentationModel::~BookmarkPresentationModel(void)
52 BookmarkPresentationModel::BookmarkPresentationModel(const BookmarkPresentationModel& settingModelObj)
57 BookmarkPresentationModel& BookmarkPresentationModel::operator=(const BookmarkPresentationModel& settingModelObj)
63 BookmarkPresentationModel::Construct(void)
66 DB_FILE_PATH = L"/opt/usr/dbspace/.internet_bookmark.db";
68 r = PresentationModelBase::Initialize();
69 TryCatch( !IsFailed(r),,"Failed to intitialize bookmarkPresentation Model %s",GetErrorMessage(r));
74 BookmarkPresentationModel::CreateInstance(void)
76 if (__pBookmarkPresentationModel == null)
77 __pBookmarkPresentationModel = new(std::nothrow) BookmarkPresentationModel();
78 result r = __pBookmarkPresentationModel->Construct();
81 delete __pBookmarkPresentationModel;
82 __pBookmarkPresentationModel = null;
85 std::atexit(DestroyInstance);
89 void BookmarkPresentationModel::DestroyInstance(void)
91 if (__pBookmarkPresentationModel)
93 delete __pBookmarkPresentationModel;
94 __pBookmarkPresentationModel = null;
99 BookmarkPresentationModel*
100 BookmarkPresentationModel::GetInstance(void)
102 if(__pBookmarkPresentationModel == null)
106 return __pBookmarkPresentationModel;
110 BookmarkPresentationModel::SaveFolder(BookmarkData& bookmark)
112 bookmark.SetParentId("-1");
113 SaveBookmark(bookmark);
115 result r = E_FAILURE;
116 String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
119 int resultCount = -1;
123 String bookmarkTitle = bookmark.GetBookmarkTitle();
124 bookmarkTitle.Replace(L"'", L"''");
126 PresentationModelBase::GetCurrentDateTime(dt);
127 if (bookmark.GetBookmarkId() == "")
129 columnNames.Append(L"TITLE, ");
130 columnNames.Append(L"CREATED_TIME, ");
131 columnNames.Append(L"MODIFIED_TIME");
133 query.Append(L"INSERT INTO ");
134 query.Append(bookmarkFolderTable);
136 query.Append(columnNames);
138 query.Append("VALUES(");
140 query.Append(bookmarkTitle);
143 query.Append(dt.ToString());
146 query.Append(dt.ToString());
151 query.Append(L"UPDATE ");
152 query.Append(bookmarkFolderTable);
153 query.Append(" SET TITLE = ");
155 query.Append(bookmarkTitle);
157 query.Append(", MODIFIED_TIME = ");
159 query.Append(dt.ToString());
161 query.Append(" WHERE ID = ");
162 query.Append(bookmark.GetBookmarkId());
166 r = PresentationModelBase::ExecuteQuery(query, resultCount);
167 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveFolder query failed %s",GetErrorMessage(r));
169 r = PresentationModelBase::CommitDb();
171 r = GetLastInsertedId(bookmarkFolderTable, rowId);
172 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveFolder GetLastInsertedId failed %s",GetErrorMessage(r));
177 bookmarkId.Append(rowId);
179 //Set the generated ID to Bookmark
180 bookmark.SetBookmarkId(bookmarkId);
186 BookmarkPresentationModel::SaveBookmark(BookmarkData& bookmark)
188 result r = E_FAILURE;
189 String bookmarkTable(BOOKMARK_URL_TABLE);
193 int resultCount = -1;
197 String bookmarkTitle = bookmark.GetBookmarkTitle();
198 bookmarkTitle.Replace(L"'", L"''");
199 String bookmarkUrl = bookmark.GetUrl();
200 bookmarkUrl.Replace(L"'", L"''");
203 PresentationModelBase::GetCurrentDateTime(dt);
204 if (bookmark.GetBookmarkId() == "")
206 columnNames.Append(L"TYPE, ");
207 columnNames.Append(L"PARENT, ");
208 columnNames.Append(L"ADDRESS, ");
209 columnNames.Append(L"TITLE, ");
210 columnNames.Append(L"CREATIONDATE, ");
211 columnNames.Append(L"UPDATEDATE");
212 //columnNames.Append(L"ICON_PATH, ");
213 //columnNames.Append(L"FAVICON_ID");
215 query.Append(L"INSERT INTO ");
216 query.Append(bookmarkTable);
218 query.Append(columnNames);
220 query.Append("VALUES(");
221 query.Append(bookmark.GetBookmarkType());
223 query.Append(bookmark.GetParentId());
226 query.Append(bookmarkUrl);
229 query.Append(bookmarkTitle);
232 query.Append(dt.ToString());
235 query.Append(dt.ToString());
236 /*query.Append("', ");
238 query.Append(bookmark.GetIconPath());
242 query.Append(bookmark.GetFaviconId());*/
248 query.Append(L"UPDATE ");
249 query.Append(bookmarkTable);
250 query.Append(" SET PARENT = ");
251 query.Append(bookmark.GetParentId());
252 query.Append(", ADDRESS = ");
254 query.Append(bookmarkUrl);
256 query.Append(", TITLE = ");
258 query.Append(bookmarkTitle);
260 query.Append(", UPDATEDATE = ");
262 query.Append(dt.ToString());
264 query.Append(" WHERE ID = ");
265 query.Append(bookmark.GetBookmarkId());
266 /*query.Append(L"UPDATE ");
267 query.Append(bookmarkTable);
268 query.Append(" SET TITLE = ");
270 query.Append(bookmarkTitle);
272 query.Append(", URL = ");
274 query.Append(bookmarkUrl);
276 query.Append(", PARENT_BOOKMARK_ID = ");
277 query.Append(bookmark.GetParentId());
278 query.Append(", MODIFIED_TIME = ");
280 query.Append(dt.ToString());
282 query.Append(", ICON_PATH = ");
284 query.Append(bookmark.GetIconPath());
286 query.Append(", FAVICON_ID = ");
288 query.Append(bookmark.GetFaviconId());
290 query.Append(" WHERE ID = ");
291 query.Append(bookmark.GetBookmarkId());*/
294 r = PresentationModelBase::ExecuteQuery(query, resultCount);
295 AppLog("BookmarkPresentationModel::SaveBookmark query is %S",query.GetPointer());
299 AppLog("BookmarkPresentationModel::SaveBookmark query is success");
303 AppLog("BookmarkPresentationModel::SaveBookmark query is failure");
306 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveBookmark query failed %s",GetErrorMessage(r));
308 r = PresentationModelBase::CommitDb();
310 r = GetLastInsertedId(bookmarkTable, rowId);
311 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveBookmark GetLastInsertedId failed %s",GetErrorMessage(r));
316 bookmarkId.Append(rowId);
318 //Set the generated ID to Bookmark
319 bookmark.SetBookmarkId(bookmarkId);
325 BookmarkPresentationModel::DeleteFolder(int folderId)
327 result r = E_SUCCESS;
329 String bookmarkTable(BOOKMARK_URL_TABLE);
330 int resultCount = -1;
334 return E_INVALID_ARG;
337 //strQuery.Format(MAX_DB_QUERY_SIZE, L"DELETE FROM %ls WHERE ID = %d", strBookmarkTable.GetPointer(), bookmarkId);
338 query.Append(L"DELETE FROM ");
339 query.Append(bookmarkTable);
340 query.Append(" WHERE ID = ");
341 query.Append(folderId);
343 r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);
344 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DeleteBookmark query failed %s",GetErrorMessage(r));
345 r = BookmarkPresentationModel::CommitDb();
346 DeleteBookmarkByFolderId(folderId);
352 BookmarkPresentationModel::DeleteBookmark(int bookmarkId)
354 result r = E_SUCCESS;
356 String bookmarkTable(BOOKMARK_URL_TABLE);
357 int resultCount = -1;
361 return E_INVALID_ARG;
364 //strQuery.Format(MAX_DB_QUERY_SIZE, L"DELETE FROM %ls WHERE ID = %d", strBookmarkTable.GetPointer(), bookmarkId);
365 query.Append(L"DELETE FROM ");
366 query.Append(bookmarkTable);
367 query.Append(" WHERE ID = ");
368 query.Append(bookmarkId);
370 r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);
371 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DeleteBookmark query failed %s",GetErrorMessage(r));
372 r = BookmarkPresentationModel::CommitDb();
378 BookmarkPresentationModel::DeleteBookmarkByFolderId(int folderId)
380 result r = E_SUCCESS;
382 String bookmarkTable(BOOKMARK_URL_TABLE);
383 int resultCount = -1;
387 return E_INVALID_ARG;
390 //strQuery.Format(MAX_DB_QUERY_SIZE, L"DELETE FROM %ls WHERE ID = %d", strBookmarkTable.GetPointer(), bookmarkId);
391 query.Append(L"DELETE FROM ");
392 query.Append(bookmarkTable);
393 query.Append(" WHERE PARENT = ");
394 query.Append(folderId);
396 r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);
397 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DeleteBookmark query failed %s",GetErrorMessage(r));
398 r = BookmarkPresentationModel::CommitDb();
405 BookmarkPresentationModel::GetFolderBookmarkCount(const String& parentID, int& Count)
407 result r = E_SUCCESS;
408 int bookmarkCount = 0;
410 r = GetBookmarkCount(parentID,bookmarkCount);
411 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmarkCount query failed %s",GetErrorMessage(r));
413 r = GetFolderCount(parentID,folderCount);
414 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmarkCount query failed %s",GetErrorMessage(r));
415 Count = folderCount+ bookmarkCount;
422 BookmarkPresentationModel::GetBookmarkCount(const String& parentID, int& bookmarkCount)
427 String bookmarkTable(BOOKMARK_URL_TABLE);
428 result r = E_FAILURE;
429 bool nextRowPresent = false;
431 //query.Format(MAX_DB_QUERY_SIZE, L"SELECT COUNT(ID) FROM %ls WHERE PARENT_ID = %ls", strTable.GetPointer(),notebookId.GetPointer());
432 query.Append(L"SELECT COUNT(ID) FROM ");
433 query.Append(bookmarkTable);
434 query.Append(" WHERE PARENT = ");
435 query.Append(parentID);
436 query.Append(" AND ADDRESS != ''");
439 r = PresentationModelBase::ExecuteQuery(query, count);
440 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmarkCount query failed %s",GetErrorMessage(r));
441 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
442 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DbIsNextRowPresent query failed %s",GetErrorMessage(r));
443 if (nextRowPresent == true)
445 r = PresentationModelBase::GetColumn(0, intVal);
448 AppLogDebug("Error:BookmarkPresentationModel::GetColumn:%s", GetErrorMessage(r));
452 bookmarkCount = intVal;
453 AppLog("Count:%d", bookmarkCount);
459 BookmarkPresentationModel::GetFolderCount(const String& parentID, int& folderCount)
465 String bookmarkTable(BOOKMARK_URL_TABLE);
466 result r = E_FAILURE;
467 bool nextRowPresent = false;
469 //query.Format(MAX_DB_QUERY_SIZE, L"SELECT COUNT(ID) FROM %ls WHERE PARENT_ID = %ls", strTable.GetPointer(),notebookId.GetPointer());
470 query.Append(L"SELECT COUNT(ID) FROM ");
471 query.Append(bookmarkTable);
472 query.Append(" WHERE PARENT = ");
473 query.Append(parentID);
474 query.Append(" AND ADDRESS = ''");
476 r = PresentationModelBase::ExecuteQuery(query, count);
477 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmarkCount query failed %s",GetErrorMessage(r));
478 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
479 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DbIsNextRowPresent query failed %s",GetErrorMessage(r));
480 if (nextRowPresent == true)
482 r = PresentationModelBase::GetColumn(0, intVal);
485 AppLogDebug("Error:BookmarkPresentationModel::GetColumn:%s", GetErrorMessage(r));
489 folderCount = intVal;
490 AppLog("Count:%d", folderCount);
499 String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
500 result r = E_FAILURE;
501 bool nextRowPresent = false;
503 if (parentID.CompareTo(DEFAULT_VALUE_PARENTID) != 0)
508 query.Append(L"SELECT COUNT(ID) FROM ");
509 query.Append(bookmarkFolderTable);
511 r = PresentationModelBase::ExecuteQuery(query, count);
512 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetFolderCount query failed %s",GetErrorMessage(r));
514 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
516 if (nextRowPresent == true)
518 r = PresentationModelBase::GetColumn(0, intVal);
520 folderCount = intVal;
526 BookmarkPresentationModel::GetFoldersBookmarks(const String& parentID, int startIndex, int limit, ArrayList& pBookmarkList)
529 arrayList.Construct();
530 GetFolder(parentID,startIndex,limit,arrayList);
531 for(int index = arrayList.GetCount()-1; index >= 0; index--)
533 pBookmarkList.Add(*arrayList.GetAt(index));
535 arrayList.RemoveAll(false);
536 GetBookmark(parentID,startIndex,limit,arrayList);
537 for(int index = arrayList.GetCount()-1; index >= 0; index--)
539 pBookmarkList.Add(*arrayList.GetAt(index));
545 BookmarkPresentationModel::GetBookmark(const String& parentID, int startIndex, int limit, ArrayList& pBookmarkList)
549 String bookmarkTable(BOOKMARK_URL_TABLE);
550 result r = E_FAILURE;
552 query.Append(L"SELECT * FROM ");
553 query.Append(bookmarkTable);
554 query.Append(" WHERE PARENT = ");
555 query.Append(parentID);
556 query.Append(" AND ADDRESS != ''");
561 query.Append(" LIMIT ");
567 query.Append(" OFFSET ");
568 query.Append(startIndex);
571 r = PresentationModelBase::ExecuteQuery(query, count);
572 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmark query failed %s",GetErrorMessage(r));
574 r = CreateBookmarkList(count, pBookmarkList);
575 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
581 BookmarkPresentationModel::GetFolder(const String& parentID, int startIndex, int limit, ArrayList& folderList)
585 String bookmarkTable(BOOKMARK_URL_TABLE);
586 result r = E_FAILURE;
588 if (parentID.CompareTo(DEFAULT_VALUE_PARENTID ) != 0)
592 query.Append(L"SELECT * FROM ");
593 query.Append(bookmarkTable);
594 query.Append(" WHERE ADDRESS = ''");
599 query.Append(" LIMIT ");
605 query.Append(" OFFSET ");
606 query.Append(startIndex);
610 r = PresentationModelBase::ExecuteQuery(query, count);
611 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetFolder query failed %s",GetErrorMessage(r));
613 r = CreateFolderList(count, folderList);
614 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
620 BookmarkPresentationModel::GetSearchFolderBookmarkCount(int& searchBookmarkCount, String& text)
622 int searchUrlCount = 0;
623 int searchFolderCount = 0;
624 GetSearchBookmarkCount(searchUrlCount,text);
625 GetSearchFolderCount(searchFolderCount,text);
626 searchBookmarkCount = searchUrlCount + searchFolderCount;
631 BookmarkPresentationModel::GetSearchBookmarkCount(int& searchBookmarkCount, String& text)
637 String bookmarkTable(BOOKMARK_URL_TABLE);
638 result r = E_FAILURE;
639 bool nextRowPresent = false;
640 text.Replace(L"'", L"''");
642 query.Append(L"SELECT COUNT(ID) FROM ");
643 query.Append(bookmarkTable);
644 query.Append(L" WHERE (TITLE LIKE '%");
647 query.Append(" OR ");
648 query.Append(L"ADDRESS LIKE '%");
651 query.Append(" AND ADDRESS != ''");
653 r = BookmarkPresentationModel::ExecuteQuery(query, count);
654 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmarkCount query failed %s",GetErrorMessage(r));
656 r = BookmarkPresentationModel::DbIsNextRowPresent(nextRowPresent);
658 if (nextRowPresent == true)
660 r = BookmarkPresentationModel::GetColumn(0, intVal);
661 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetColumn failed %s",GetErrorMessage(r));
663 searchBookmarkCount = intVal;
670 BookmarkPresentationModel::GetSearchFolderCount(int& searchFolderCount, String& text)
676 String bookmarkTable(BOOKMARK_URL_TABLE);
677 result r = E_FAILURE;
678 bool nextRowPresent = false;
679 text.Replace(L"'", L"''");
681 query.Append(L"SELECT COUNT(ID) FROM ");
682 query.Append(bookmarkTable);
683 query.Append(L" WHERE TITLE LIKE '%");
686 query.Append(" AND ADDRESS = ''");
688 r = BookmarkPresentationModel::ExecuteQuery(query, count);
689 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmarkCount query failed %s",GetErrorMessage(r));
691 r = BookmarkPresentationModel::DbIsNextRowPresent(nextRowPresent);
693 if (nextRowPresent == true)
695 r = BookmarkPresentationModel::GetColumn(0, intVal);
696 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetColumn failed %s",GetErrorMessage(r));
698 searchFolderCount = intVal;
705 BookmarkPresentationModel::GetSearchFoldersBookmarks(int startIndex, int limit, ArrayList& pFolderList, String& text)
708 arrayList.Construct();
709 GetSearchFolder(startIndex, limit, arrayList,text);
710 for(int index = arrayList.GetCount()-1; index >= 0; index--)
712 pFolderList.Add(*arrayList.GetAt(index));
714 arrayList.RemoveAll(false);
715 GetSearchBookmark(startIndex, limit, arrayList,text);
716 for(int index = arrayList.GetCount()-1; index >= 0; index--)
718 pFolderList.Add(*arrayList.GetAt(index));
724 BookmarkPresentationModel::GetSearchBookmark(int startIndex, int limit, ArrayList& pBookmarkList, String& text)
728 String bookmarkTable(BOOKMARK_URL_TABLE);
729 result r = E_FAILURE;
731 text.Replace(L"'", L"''");
732 query.Append(L"SELECT * FROM ");
733 query.Append(bookmarkTable);
734 query.Append(L" WHERE (TITLE LIKE '%");
737 query.Append(" OR ");
738 query.Append(L"(ADDRESS LIKE '%");
741 query.Append(" AND ADDRESS != ''");
745 query.Append(" LIMIT ");
751 query.Append(" OFFSET ");
752 query.Append(startIndex);
756 r = BookmarkPresentationModel::ExecuteQuery(query, count);
757 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmark query failed %s",GetErrorMessage(r));
759 r = CreateBookmarkList(count, pBookmarkList);
760 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
766 BookmarkPresentationModel::GetSearchFolder(int startIndex, int limit, ArrayList& pFolderList, String& text)
770 String bookmarkTable(BOOKMARK_URL_TABLE);
771 result r = E_FAILURE;
772 text.Replace(L"'", L"''");
774 query.Append(L"SELECT * FROM ");
775 query.Append(bookmarkTable);
776 query.Append(L" WHERE TITLE LIKE '%");
778 //query.Append("%')");
780 query.Append(" AND ADDRESS = ''");
785 query.Append(" LIMIT ");
791 query.Append(" OFFSET ");
792 query.Append(startIndex);
796 r = BookmarkPresentationModel::ExecuteQuery(query, count);
797 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmark query failed %s",GetErrorMessage(r));
799 r = CreateFolderList(count, pFolderList);
800 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
806 BookmarkPresentationModel::CreateFolderList(int bookmarkCount, ArrayList& folderList)
808 BookmarkData* pBookmark = null;
812 result r = E_FAILURE;
816 DateTime createdTime;
817 DateTime modifiedTime;
819 bool nextRowPresent = false;
821 if (bookmarkCount < 1)
825 for (int l_bookmarkCount = 0; l_bookmarkCount < bookmarkCount; l_bookmarkCount++)
827 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
830 if (nextRowPresent == true)
832 pBookmark = new(std::nothrow) BookmarkData;
836 for (int columnCount = 0; columnCount < MAX_NOTE_TABLE_COLUMN; columnCount++)
842 r = PresentationModelBase::GetColumn(columnCount, intVal);
848 bookmarkId.Append(intVal);
849 if (bookmarkId.GetLength() > 0)
850 pBookmark->SetBookmarkId(bookmarkId);
855 case BOOKMARK_PARENT:
856 r = PresentationModelBase::GetColumn(columnCount, intVal);
862 parentId.Append(intVal);
863 if (parentId.GetLength() > 0)
864 pBookmark->SetParentId(parentId);
868 case BOOKMARK_ADDRESS:
869 r = PresentationModelBase::GetColumn(columnCount, value);
872 pBookmark->SetUrl(value);
876 r = PresentationModelBase::GetColumn(columnCount, value);
879 pBookmark->SetBookmarkTitle(value);
882 case BOOKMARK_CREATIONDATE:
883 r = PresentationModelBase::GetColumn(columnCount, dateValue);
886 createdTime = dateValue;
887 pBookmark->SetCreatedTime(createdTime);
891 case BOOKMARK_UPDATEDATA:
892 r = PresentationModelBase::GetColumn(columnCount, dateValue);
895 modifiedTime = dateValue;
896 pBookmark->SetModifiedTime(modifiedTime);
901 r = PresentationModelBase::GetColumn(columnCount, value);
905 pBookmark->SetIconPath(iconPath);
910 r = PresentationModelBase::GetColumn(columnCount, intVal);
916 faviconId.Append(intVal);
917 if (faviconId.GetLength() > 0)
919 pBookmark->SetFaviconId(faviconId);
931 r = folderList.Add(*pBookmark);
944 BookmarkPresentationModel::CreateBookmarkList(int bookmarkCount, ArrayList& bookmarkList)
946 BookmarkData* pBookmark = null;
950 result r = E_FAILURE;
954 DateTime createdTime;
955 DateTime modifiedTime;
957 bool nextRowPresent = false;
959 if (bookmarkCount < 1)
963 for (int l_bookmarkCount = 0; l_bookmarkCount < bookmarkCount; l_bookmarkCount++)
965 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
968 if (nextRowPresent == true)
970 pBookmark = new(std::nothrow) BookmarkData;
973 for (int columnCount = 0; columnCount < MAX_NOTE_TABLE_COLUMN; columnCount++)
979 r = PresentationModelBase::GetColumn(columnCount, intVal);
985 bookmarkId.Append(intVal);
986 if (bookmarkId.GetLength() > 0)
987 pBookmark->SetBookmarkId(bookmarkId);
992 case BOOKMARK_PARENT:
993 r = PresentationModelBase::GetColumn(columnCount, intVal);
999 parentId.Append(intVal);
1000 if (parentId.GetLength() > 0)
1001 pBookmark->SetParentId(parentId);
1005 case BOOKMARK_ADDRESS:
1006 r = PresentationModelBase::GetColumn(columnCount, value);
1009 pBookmark->SetUrl(value);
1012 case BOOKMARK_TITLE:
1013 r = PresentationModelBase::GetColumn(columnCount, value);
1016 pBookmark->SetBookmarkTitle(value);
1019 case BOOKMARK_CREATIONDATE:
1020 r = PresentationModelBase::GetColumn(columnCount, dateValue);
1023 createdTime = dateValue;
1024 pBookmark->SetCreatedTime(createdTime);
1028 case BOOKMARK_UPDATEDATA:
1029 r = PresentationModelBase::GetColumn(columnCount, dateValue);
1032 modifiedTime = dateValue;
1033 pBookmark->SetModifiedTime(modifiedTime);
1038 r = PresentationModelBase::GetColumn(columnCount, value);
1042 pBookmark->SetIconPath(iconPath);
1047 r = PresentationModelBase::GetColumn(columnCount, intVal);
1053 faviconId.Append(intVal);
1054 if (faviconId.GetLength() > 0)
1056 pBookmark->SetFaviconId(faviconId);
1068 r = bookmarkList.Add(*pBookmark);
1081 BookmarkPresentationModel::DoesBookmarkExist(const Tizen::Base::String& Url, bool &exist, const String& parentId, bool checkParentId)
1083 int bookmarkCount = -1;
1086 String bookmarkTable(BOOKMARK_URL_TABLE);
1087 result r = E_FAILURE;
1088 bool nextRowPresent = false;
1091 query.Append(L"SELECT COUNT(ID) FROM ");
1092 query.Append(bookmarkTable);
1093 query.Append(" WHERE ADDRESS = '");
1095 if(checkParentId == true)
1097 query.Append(L"' AND PARENT = '");
1098 query.Append(parentId);
1102 AppLog("BookmarkPresentationModel::DoesBookmarkExist query is %S",query.GetPointer());
1104 r = PresentationModelBase::ExecuteQuery(query, bookmarkCount);
1105 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DoesBookmarkExist query failed %s",GetErrorMessage(r));
1107 r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
1109 if (nextRowPresent == true)
1111 r = PresentationModelBase::GetColumn(0, intVal);
1128 BookmarkPresentationModel::DeleteBookmark(const Tizen::Base::String& url)
1130 result r = E_SUCCESS;
1132 String bookmarkTable(BOOKMARK_URL_TABLE);
1133 int resultCount = -1;
1135 query.Append(L"DELETE FROM ");
1136 query.Append(bookmarkTable);
1137 query.Append(" WHERE ADDRESS = '");
1141 r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);
1142 TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DeleteBookmark query failed %s",GetErrorMessage(r));
1144 r = BookmarkPresentationModel::CommitDb();