// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
-// Licensed under the Flora License, Version 1.0 (the License);
+// Licensed under the Flora License, Version 1.1 (the License);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
*/
#include <cstdlib>
+
#include "IntBookmarkData.h"
#include "IntBookmarkPresentationModel.h"
#include "IntTypes.h"
using namespace Tizen::System;
extern const wchar_t* BOOKMARK_URL_TABLE;
-extern const wchar_t* BOOKMARK_FOLDER_TABLE;
+//extern const wchar_t* BOOKMARK_FOLDER_TABLE;
extern const wchar_t* DEFAULT_VALUE_PARENTID ;
BookmarkPresentationModel* BookmarkPresentationModel::__pBookmarkPresentationModel = null;
BookmarkPresentationModel::Construct(void)
{
result r = E_SUCCESS;
+ DB_FILE_PATH = L"/opt/usr/dbspace/.internet_bookmark.db";
+
r = PresentationModelBase::Initialize();
TryCatch( !IsFailed(r),,"Failed to intitialize bookmarkPresentation Model %s",GetErrorMessage(r));
CATCH: return r;
{
if (__pBookmarkPresentationModel)
{
+ __pBookmarkPresentationModel->UnInitialize();
delete __pBookmarkPresentationModel;
__pBookmarkPresentationModel = null;
}
result
BookmarkPresentationModel::SaveFolder(BookmarkData& bookmark)
{
+ bookmark.SetParentId("0");
+ return SaveTempBookmark(bookmark);
+}
+
+result
+BookmarkPresentationModel::SaveBookmark(BookmarkData& bookmark)
+{
result r = E_FAILURE;
- String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
+ String bookmarkTable(BOOKMARK_URL_TABLE);
String query;
String columnNames;
+ String attachment;
int resultCount = -1;
int rowId = -1;
DateTime dt;
String bookmarkId;
String bookmarkTitle = bookmark.GetBookmarkTitle();
- bookmarkTitle.Replace(L"'", L"''");
+ bookmarkTitle.Replace(L"'", L"\'");
+ String bookmarkUrl = bookmark.GetUrl();
+ bookmarkUrl.Replace(L"'", L"\'");
+
+ AppLog("BookmarkPresentationModel::SaveBookmark");
+
+ String pFavArray;
+ ByteBuffer* pFavBuffer = bookmark.GetFavIconBuffer();
+ if(pFavBuffer != null)
+ {
+ AppLog("Buffer found");
+ pFavBuffer->Flip();
+
+ wchar_t value;
+
+ AppLog("BookmarkPresentationModel::SaveBookmark 0 ");
+
+ while(pFavBuffer->HasRemaining())
+ {
+ pFavBuffer->GetWchar(value);
+ pFavArray.Append(value);
+ }
+ }
+
+ AppLog("BookmarkPresentationModel::SaveBookmark 1 pFavArray(%d) is %ls",pFavArray.GetLength(), pFavArray.GetPointer());
PresentationModelBase::GetCurrentDateTime(dt);
if (bookmark.GetBookmarkId() == "")
{
+ columnNames.Append(L"TYPE, ");
+ columnNames.Append(L"PARENT, ");
+ columnNames.Append(L"ADDRESS, ");
columnNames.Append(L"TITLE, ");
- columnNames.Append(L"CREATED_TIME, ");
- columnNames.Append(L"MODIFIED_TIME");
+ columnNames.Append(L"CREATIONDATE, ");
+ columnNames.Append(L"UPDATEDATE, ");
+ columnNames.Append(L"FAVICON, ");
+ // columnNames.Append(L"FAVICON_LENGTH, ");
+ columnNames.Append(L"FAVICON_W, ");
+ columnNames.Append(L"FAVICON_H");
+ //columnNames.Append(L"FAVICON_ID"
+ //columnNames.Append(L"FAVICON_ID");
query.Append(L"INSERT INTO ");
- query.Append(bookmarkFolderTable);
+ query.Append(bookmarkTable);
query.Append("(");
query.Append(columnNames);
query.Append(") ");
query.Append("VALUES(");
+ query.Append(bookmark.GetBookmarkType());
+ query.Append(", ");
+ query.Append(bookmark.GetParentId());
+ query.Append(", ");
+ query.Append("'");
+ query.Append(bookmarkUrl);
+ query.Append("', ");
query.Append("'");
query.Append(bookmarkTitle);
query.Append("', ");
query.Append("', ");
query.Append("'");
query.Append(dt.ToString());
- query.Append("')");
+ query.Append("', ");
+ query.Append("'");
+ query.Append(pFavArray);
+ query.Append("', ");
+ query.Append(bookmark.GetFavIconWidth());
+ query.Append(", ");
+ query.Append(bookmark.GetFavIconHeight());
+ /*query.Append("', ");
+ query.Append("'");
+ query.Append(bookmark.GetIconPath());
+ query.Append("'");
+ query.Append(", ");
+ query.Append("'");
+ query.Append(bookmark.GetFaviconId());*/
+ query.Append(")");
}
else
{
query.Append(L"UPDATE ");
- query.Append(bookmarkFolderTable);
+ query.Append(bookmarkTable);
+ query.Append(" SET PARENT = ");
+ query.Append(bookmark.GetParentId());
+ query.Append(", ADDRESS = ");
+ query.Append("'");
+ query.Append(bookmarkUrl);
+ query.Append("'");
+ query.Append(", TITLE = ");
+ query.Append("'");
+ query.Append(bookmarkTitle);
+ query.Append("'");
+ query.Append(", UPDATEDATE = ");
+ query.Append("'");
+ query.Append(dt.ToString());
+ query.Append("'");
+ query.Append(" WHERE ID = ");
+ query.Append(bookmark.GetBookmarkId());
+ /*query.Append(L"UPDATE ");
+ query.Append(bookmarkTable);
query.Append(" SET TITLE = ");
query.Append("'");
query.Append(bookmarkTitle);
query.Append("'");
+ query.Append(", URL = ");
+ query.Append("'");
+ query.Append(bookmarkUrl);
+ query.Append("'");
+ query.Append(", PARENT_BOOKMARK_ID = ");
+ query.Append(bookmark.GetParentId());
query.Append(", MODIFIED_TIME = ");
query.Append("'");
query.Append(dt.ToString());
query.Append("'");
+ query.Append(", ICON_PATH = ");
+ query.Append("'");
+ query.Append(bookmark.GetIconPath());
+ query.Append("'");
+ query.Append(", FAVICON_ID = ");
+ query.Append("'");
+ query.Append(bookmark.GetFaviconId());
+ query.Append("'");
query.Append(" WHERE ID = ");
- query.Append(bookmark.GetBookmarkId());
+ query.Append(bookmark.GetBookmarkId());*/
}
-
r = PresentationModelBase::ExecuteQuery(query, resultCount);
- TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveFolder query failed %s",GetErrorMessage(r));
+ AppLog("BookmarkPresentationModel::SaveBookmark query is %S",query.GetPointer());
+
+ if (r == E_SUCCESS)
+ {
+ AppLog("BookmarkPresentationModel::SaveBookmark query is success");
+ }
+ else
+ {
+ AppLog("BookmarkPresentationModel::SaveBookmark query is failure");
+ }
+
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveBookmark query failed %s",GetErrorMessage(r));
r = PresentationModelBase::CommitDb();
- r = GetLastInsertedId(bookmarkFolderTable, rowId);
- TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveFolder GetLastInsertedId failed %s",GetErrorMessage(r));
+ r = GetLastInsertedId(bookmarkTable, rowId);
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveBookmark GetLastInsertedId failed %s",GetErrorMessage(r));
if (rowId < 0)
return E_FAILURE;
}
result
-BookmarkPresentationModel::SaveBookmark(BookmarkData& bookmark)
+BookmarkPresentationModel::SaveTempBookmark(BookmarkData& bookmark)
{
-
result r = E_FAILURE;
String bookmarkTable(BOOKMARK_URL_TABLE);
String query;
String bookmarkUrl = bookmark.GetUrl();
bookmarkUrl.Replace(L"'", L"''");
-
PresentationModelBase::GetCurrentDateTime(dt);
+
if (bookmark.GetBookmarkId() == "")
{
+ columnNames.Append(L"TYPE, ");
+ columnNames.Append(L"PARENT, ");
+ columnNames.Append(L"ADDRESS, ");
columnNames.Append(L"TITLE, ");
- columnNames.Append(L"URL, ");
- columnNames.Append(L"PARENT_BOOKMARK_ID, ");
- columnNames.Append(L"CREATED_TIME, ");
- columnNames.Append(L"MODIFIED_TIME, ");
- columnNames.Append(L"ICON_PATH, ");
- columnNames.Append(L"FAVICON_ID");
+ columnNames.Append(L"CREATIONDATE, ");
+ columnNames.Append(L"UPDATEDATE, ");
+
+ columnNames.Append(L"FAVICON, ");
+ columnNames.Append(L"FAVICON_W, ");
+ columnNames.Append(L"FAVICON_H");
query.Append(L"INSERT INTO ");
query.Append(bookmarkTable);
query.Append("(");
query.Append(columnNames);
query.Append(") ");
- query.Append("VALUES(");
- query.Append("'");
- query.Append(bookmarkTitle);
- query.Append("', ");
- query.Append("'");
- query.Append(bookmarkUrl);
- query.Append("', ");
- query.Append(bookmark.GetParentId());
- query.Append(", ");
- query.Append("'");
- query.Append(dt.ToString());
- query.Append("', ");
- query.Append("'");
- query.Append(dt.ToString());
- query.Append("', ");
- query.Append("'");
- query.Append(bookmark.GetIconPath());
- query.Append("'");
- query.Append(", ");
- query.Append("'");
- query.Append(bookmark.GetFaviconId());
- query.Append("'");
- query.Append(")");
+ query.Append("VALUES");
+ query.Append(" (?,?,?,?,?,?,?,?,?)");
+ r = PresentationModelBase::ExecuteBookmarkQuery(query, resultCount, bookmark);
}
else
{
query.Append(L"UPDATE ");
query.Append(bookmarkTable);
- query.Append(" SET TITLE = ");
- query.Append("'");
- query.Append(bookmarkTitle);
- query.Append("'");
- query.Append(", URL = ");
- query.Append("'");
- query.Append(bookmarkUrl);
- query.Append("'");
- query.Append(", PARENT_BOOKMARK_ID = ");
+ query.Append(" SET PARENT = ");
query.Append(bookmark.GetParentId());
- query.Append(", MODIFIED_TIME = ");
+ query.Append(", ADDRESS = ");
query.Append("'");
- query.Append(dt.ToString());
+ query.Append(bookmarkUrl);
query.Append("'");
- query.Append(", ICON_PATH = ");
+ query.Append(", TITLE = ");
query.Append("'");
- query.Append(bookmark.GetIconPath());
+ query.Append(bookmarkTitle);
query.Append("'");
- query.Append(", FAVICON_ID = ");
+ query.Append(", UPDATEDATE = ");
query.Append("'");
- query.Append(bookmark.GetFaviconId());
+ query.Append(dt.ToString());
query.Append("'");
query.Append(" WHERE ID = ");
query.Append(bookmark.GetBookmarkId());
+ r = PresentationModelBase::ExecuteQuery(query, resultCount);
}
- r = PresentationModelBase::ExecuteQuery(query, resultCount);
+ AppLog("BookmarkPresentationModel::SaveBookmark query is %S",query.GetPointer());
+
+ if (r == E_SUCCESS)
+ {
+ AppLog("BookmarkPresentationModel::SaveBookmark query is success");
+ }
+ else
+ {
+ AppLog("BookmarkPresentationModel::SaveBookmark query is failure");
+ }
+
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::SaveBookmark query failed %s",GetErrorMessage(r));
r = PresentationModelBase::CommitDb();
bookmark.SetBookmarkId(bookmarkId);
CATCH: return r;
+
}
result
{
result r = E_SUCCESS;
String query;
- String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
+ String bookmarkTable(BOOKMARK_URL_TABLE);
int resultCount = -1;
if (folderId < 1)
//strQuery.Format(MAX_DB_QUERY_SIZE, L"DELETE FROM %ls WHERE ID = %d", strBookmarkTable.GetPointer(), bookmarkId);
query.Append(L"DELETE FROM ");
- query.Append(bookmarkFolderTable);
+ query.Append(bookmarkTable);
query.Append(" WHERE ID = ");
query.Append(folderId);
//strQuery.Format(MAX_DB_QUERY_SIZE, L"DELETE FROM %ls WHERE ID = %d", strBookmarkTable.GetPointer(), bookmarkId);
query.Append(L"DELETE FROM ");
query.Append(bookmarkTable);
- query.Append(" WHERE PARENT_BOOKMARK_ID = ");
+ query.Append(" WHERE PARENT = ");
query.Append(folderId);
r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);
//query.Format(MAX_DB_QUERY_SIZE, L"SELECT COUNT(ID) FROM %ls WHERE PARENT_ID = %ls", strTable.GetPointer(),notebookId.GetPointer());
query.Append(L"SELECT COUNT(ID) FROM ");
query.Append(bookmarkTable);
- query.Append(" WHERE PARENT_BOOKMARK_ID = ");
+ query.Append(" WHERE PARENT = ");
query.Append(parentID);
+ query.Append(" AND ADDRESS != ''");
r = PresentationModelBase::ExecuteQuery(query, count);
result
BookmarkPresentationModel::GetFolderCount(const String& parentID, int& folderCount)
{
+
+ int count = -1;
+ int intVal = -1;
+ String query;
+ String bookmarkTable(BOOKMARK_URL_TABLE);
+ result r = E_FAILURE;
+ bool nextRowPresent = false;
+
+ //query.Format(MAX_DB_QUERY_SIZE, L"SELECT COUNT(ID) FROM %ls WHERE PARENT_ID = %ls", strTable.GetPointer(),notebookId.GetPointer());
+ query.Append(L"SELECT COUNT(ID) FROM ");
+ query.Append(bookmarkTable);
+ query.Append(" WHERE PARENT = ");
+ query.Append(parentID);
+ query.Append(" AND ADDRESS = ''");
+
+ r = PresentationModelBase::ExecuteQuery(query, count);
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmarkCount query failed %s",GetErrorMessage(r));
+ r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::DbIsNextRowPresent query failed %s",GetErrorMessage(r));
+ if (nextRowPresent == true)
+ {
+ r = PresentationModelBase::GetColumn(0, intVal);
+ if (IsFailed(r))
+ {
+ AppLogDebug("Error:BookmarkPresentationModel::GetColumn:%s", GetErrorMessage(r));
+ return r;
+ }
+ }
+ folderCount = intVal;
+ AppLog("Count:%d", folderCount);
+
+ CATCH: return r;
+
+
+ /*
int count = -1;
int intVal = -1;
String query;
folderCount = intVal;
CATCH: return r;
-}
+*/}
result
BookmarkPresentationModel::GetFoldersBookmarks(const String& parentID, int startIndex, int limit, ArrayList& pBookmarkList)
query.Append(L"SELECT * FROM ");
query.Append(bookmarkTable);
- query.Append(" WHERE PARENT_BOOKMARK_ID = ");
+ query.Append(" WHERE PARENT = ");
query.Append(parentID);
+ query.Append(" AND ADDRESS != ''");
//Append LIMIT
if (limit > 0)
CATCH: return r;
}
+result BookmarkPresentationModel::GetBookmarkForHistory(int startIndex, Tizen::Base::Collection::ArrayList& pBookmarkList)
+{
+ int count = -1;
+ String query;
+ String bookmarkTable(BOOKMARK_URL_TABLE);
+ result r = E_FAILURE;
+
+ query.Append(L"SELECT * FROM ");
+ query.Append(bookmarkTable);
+ query.Append(" WHERE ADDRESS != ''");
+
+ r = PresentationModelBase::ExecuteQuery(query, count);
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetBookmark query failed %s",GetErrorMessage(r));
+
+ r = CreateBookmarkList(count, pBookmarkList);
+ TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
+
+ CATCH: return r;
+}
+
result
BookmarkPresentationModel::GetFolder(const String& parentID, int startIndex, int limit, ArrayList& folderList)
{
int count = -1;
String query;
- String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
+ String bookmarkTable(BOOKMARK_URL_TABLE);
result r = E_FAILURE;
if (parentID.CompareTo(DEFAULT_VALUE_PARENTID ) != 0)
return E_SUCCESS;
}
query.Append(L"SELECT * FROM ");
- query.Append(bookmarkFolderTable);
-
+ query.Append(bookmarkTable);
+ query.Append(" WHERE ADDRESS = ''");
//Append LIMIT
if (limit > 0)
String bookmarkTable(BOOKMARK_URL_TABLE);
result r = E_FAILURE;
bool nextRowPresent = false;
- text.Replace(L"'", L"''");
+ text.Replace(L"'", L"\'");
query.Append(L"SELECT COUNT(ID) FROM ");
query.Append(bookmarkTable);
query.Append(L" WHERE (TITLE LIKE '%");
query.Append(text);
- query.Append("%')");
+ query.Append("%'");
query.Append(" OR ");
- query.Append(L"(URL LIKE '%");
+ query.Append(L"ADDRESS LIKE '%");
query.Append(text);
- query.Append("%')");
+ query.Append("%'");
+ query.Append(" ESCAPE '/')");
+ query.Append(" AND ADDRESS != ''");
r = BookmarkPresentationModel::ExecuteQuery(query, count);
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmarkCount query failed %s",GetErrorMessage(r));
}
searchBookmarkCount = intVal;
- CATCH: return r;
+ CATCH:
+// text.Replace(L"''", L"'");
+ return r;
+
}
int count = -1;
int intVal = -1;
String query;
- String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
+ String bookmarkTable(BOOKMARK_URL_TABLE);
result r = E_FAILURE;
bool nextRowPresent = false;
- text.Replace(L"'", L"''");
+ text.Replace(L"'", L"\'");
query.Append(L"SELECT COUNT(ID) FROM ");
- query.Append(bookmarkFolderTable);
- query.Append(L" WHERE (TITLE LIKE '%");
+ query.Append(bookmarkTable);
+ query.Append(L" WHERE TITLE LIKE '%");
query.Append(text);
- query.Append("%')");
+ query.Append("%'");
+ query.Append(" ESCAPE '/'");
+ query.Append(" AND ADDRESS = ''");
r = BookmarkPresentationModel::ExecuteQuery(query, count);
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmarkCount query failed %s",GetErrorMessage(r));
}
searchFolderCount = intVal;
- CATCH: return r;
+ CATCH:
+// text.Replace(L"''", L"'");
+ return r;
}
String bookmarkTable(BOOKMARK_URL_TABLE);
result r = E_FAILURE;
- text.Replace(L"'", L"''");
+ text.Replace(L"'", L"\'");
query.Append(L"SELECT * FROM ");
query.Append(bookmarkTable);
- query.Append(L" WHERE (TITLE LIKE '%");
+ query.Append(L" WHERE ((TITLE LIKE '%");
query.Append(text);
- query.Append("%')");
+ query.Append("%' ESCAPE '/')");
query.Append(" OR ");
- query.Append(L"(URL LIKE '%");
+ query.Append(L"(ADDRESS LIKE '%");
query.Append(text);
- query.Append("%')");
+ query.Append("%' ESCAPE '/') )");
+ query.Append(" AND (ADDRESS != '')");
//Append LIMIT
if (limit > 0)
{
query.Append(startIndex);
}
}
-
+ AppLog("Query is %ls", query.GetPointer());
r = BookmarkPresentationModel::ExecuteQuery(query, count);
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::GetSearchBookmark query failed %s",GetErrorMessage(r));
r = CreateBookmarkList(count, pBookmarkList);
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
- CATCH: return r;
+ CATCH:
+// text.Replace(L"''", L"'");
+ return r;
}
result
{
int count = -1;
String query;
- String bookmarkFolderTable(BOOKMARK_FOLDER_TABLE);
+ String bookmarkTable(BOOKMARK_URL_TABLE);
result r = E_FAILURE;
- text.Replace(L"'", L"''");
+ text.Replace(L"'", L"\'");
query.Append(L"SELECT * FROM ");
- query.Append(bookmarkFolderTable);
- query.Append(L" WHERE (TITLE LIKE '%");
+ query.Append(bookmarkTable);
+ query.Append(L" WHERE TITLE LIKE '%");
query.Append(text);
- query.Append("%')");
+ //query.Append("%')");
+ query.Append("%'");
+ query.Append(" ESCAPE '/'");
+ query.Append(" AND ADDRESS = ''");
//Append LIMIT
if (limit > 0)
r = CreateFolderList(count, pFolderList);
TryCatch( r == E_SUCCESS,,"BookmarkPresentationModel::CreateBookmarkList failed %s",GetErrorMessage(r));
- CATCH: return r;
+ CATCH:
+// text.Replace(L"''", L"'");
+ return r;
}
result
{
return E_SUCCESS;
}
-
for (int l_bookmarkCount = 0; l_bookmarkCount < bookmarkCount; l_bookmarkCount++)
{
r = PresentationModelBase::DbIsNextRowPresent(nextRowPresent);
if (nextRowPresent == true)
{
pBookmark = new(std::nothrow) BookmarkData;
+
if (pBookmark)
{
for (int columnCount = 0; columnCount < MAX_NOTE_TABLE_COLUMN; columnCount++)
switch (columnCount)
{
- case 0:
+ case BOOKMARK_ID:
r = PresentationModelBase::GetColumn(columnCount, intVal);
if (!IsFailed(r))
{
}
break;
-
- case 1:
+ case BOOKMARK_PARENT:
+ r = PresentationModelBase::GetColumn(columnCount, intVal);
+ if (!IsFailed(r))
+ {
+ if (intVal > 0)
+ {
+ parentId.Clear();
+ parentId.Append(intVal);
+ if (parentId.GetLength() > 0)
+ pBookmark->SetParentId(parentId);
+ }
+ }
+ break;
+ case BOOKMARK_ADDRESS:
+ r = PresentationModelBase::GetColumn(columnCount, value);
+ if (!IsFailed(r))
+ {
+ pBookmark->SetUrl(value);
+ }
+ break;
+ case BOOKMARK_TITLE:
r = PresentationModelBase::GetColumn(columnCount, value);
if (!IsFailed(r))
{
pBookmark->SetBookmarkTitle(value);
}
break;
-
- case 2:
+ case BOOKMARK_CREATIONDATE:
r = PresentationModelBase::GetColumn(columnCount, dateValue);
if (!IsFailed(r))
{
}
break;
- case 3:
+ case BOOKMARK_UPDATEDATA:
r = PresentationModelBase::GetColumn(columnCount, dateValue);
if (!IsFailed(r))
{
pBookmark->SetModifiedTime(modifiedTime);
}
break;
+
+ /*case 6:
+ r = PresentationModelBase::GetColumn(columnCount, value);
+ if (!IsFailed(r))
+ {
+ iconPath = value;
+ pBookmark->SetIconPath(iconPath);
+ }
+ break;
+ case 7:
+
+ r = PresentationModelBase::GetColumn(columnCount, intVal);
+ if (!IsFailed(r))
+ {
+ if (intVal >= 0)
+ {
+ faviconId.Clear();
+ faviconId.Append(intVal);
+ if (faviconId.GetLength() > 0)
+ {
+ pBookmark->SetFaviconId(faviconId);
+ }
+ }
+ }
+ break;*/
+
default:
break;
}
result
BookmarkPresentationModel::CreateBookmarkList(int bookmarkCount, ArrayList& bookmarkList)
{
+ AppLog("BookmarkPresentationModel::CreateBookmarkList start");
BookmarkData* pBookmark = null;
int intVal = -1;
String value;
String faviconId;
DateTime createdTime;
DateTime modifiedTime;
+ ByteBuffer *pFavIconBuffer = null;
+
String iconPath;
bool nextRowPresent = false;
-
+
if (bookmarkCount < 1)
{
return E_SUCCESS;
switch (columnCount)
{
- case 0:
+ case BOOKMARK_ID:
r = PresentationModelBase::GetColumn(columnCount, intVal);
if (!IsFailed(r))
{
}
break;
-
- case 1:
- r = PresentationModelBase::GetColumn(columnCount, value);
+ case BOOKMARK_PARENT:
+ r = PresentationModelBase::GetColumn(columnCount, intVal);
if (!IsFailed(r))
{
- pBookmark->SetBookmarkTitle(value);
+ if (intVal > 0)
+ {
+ parentId.Clear();
+ parentId.Append(intVal);
+ if (parentId.GetLength() > 0)
+ pBookmark->SetParentId(parentId);
+ }
}
break;
-
- case 2:
+ case BOOKMARK_ADDRESS:
r = PresentationModelBase::GetColumn(columnCount, value);
if (!IsFailed(r))
{
pBookmark->SetUrl(value);
}
break;
-
- case 3:
- r = PresentationModelBase::GetColumn(columnCount, intVal);
+ case BOOKMARK_TITLE:
+ r = PresentationModelBase::GetColumn(columnCount, value);
if (!IsFailed(r))
{
- if (intVal > 0)
- {
- parentId.Clear();
- parentId.Append(intVal);
- if (parentId.GetLength() > 0)
- pBookmark->SetParentId(parentId);
- }
+ pBookmark->SetBookmarkTitle(value);
}
break;
-
- case 4:
+ case BOOKMARK_CREATIONDATE:
r = PresentationModelBase::GetColumn(columnCount, dateValue);
if (!IsFailed(r))
{
pBookmark->SetCreatedTime(createdTime);
}
break;
+ case BOOKMARK_SEQUENCE:
+ {
- case 5:
+ }
+ break;
+ case BOOKMARK_UPDATEDATA:
r = PresentationModelBase::GetColumn(columnCount, dateValue);
if (!IsFailed(r))
{
pBookmark->SetModifiedTime(modifiedTime);
}
break;
+ case BOOKMARK_VISITDATE:
+ {
+
+ }
+ break;
+ case BOOKMARK_EDITABLE:
+ {
+
+ }
+ break;
+ case BOOKMARK_ACCESSACCOUNT:
+ {
+
+ }
+ break;
+ case BOOKMARK_FAVICON:
+ {
+ AppLog("BookmarkPresentationModel::CreateBookmarkList BOOKMARK_FAVICON 0");
+ pFavIconBuffer = new ByteBuffer();
+ r = PresentationModelBase::GetColumn(columnCount, *pFavIconBuffer);
+ AppLog("BookmarkPresentationModel::CreateBookmarkList BOOKMARK_FAVICON 1");
+ if (pFavIconBuffer->GetCapacity() > 0)
+ {
+ AppLog("BookmarkPresentationModel::CreateBookmarkList favIconBuffer not null");
+ }
+ else
+ {
+ AppLog("BookmarkPresentationModel::CreateBookmarkList favIconBuffer is null");
+ }
- case 6:
+ if (!IsFailed(r))
+ {
+ iconPath = value;
+ pBookmark->SetFavIconBuffer(*pFavIconBuffer);
+ }
+ }
+ break;
+ case BOOKMARK_FAVICON_LENGTH:
+ {
+
+ }
+ break;
+ case BOOKMARK_FAVICON_W:
+ {
+ r = PresentationModelBase::GetColumn(columnCount, intVal);
+ if (!IsFailed(r))
+ {
+ if (intVal > 0)
+ {
+ pBookmark->SetFavIconWidth(intVal);
+ }
+ }
+ }
+ break;
+ case BOOKMARK_FAVICON_H:
+ {
+ r = PresentationModelBase::GetColumn(columnCount, intVal);
+ if (!IsFailed(r))
+ {
+ if (intVal > 0)
+ {
+ pBookmark->SetFavIconHeight(intVal);
+ }
+ }
+ }
+ break;
+ /*
+ *case 6:
r = PresentationModelBase::GetColumn(columnCount, value);
if (!IsFailed(r))
{
}
}
}
- break;
+ break;*/
default:
break;
}
}
}
+ AppLog("BookmarkPresentationModel::CreateBookmarkList end");
return r;
}
query.Append(L"SELECT COUNT(ID) FROM ");
query.Append(bookmarkTable);
- query.Append(" WHERE URL = '");
+ query.Append(" WHERE ADDRESS = '");
query.Append(Url);
+ if(Url.EndsWith(L"/"))
+ {
+ query.Append("' OR ADDRESS = '");
+ String newUrl = L"";
+ Url.SubString(0,Url.GetLength()-1 ,newUrl);
+ query.Append(newUrl);
+ }
+ else
+ {
+ query.Append("' OR ADDRESS = '");
+ String newUrl = Url;
+// Url.SubString(0,Url.GetLength()-1 ,newUrl);
+ newUrl.Append(L"/");
+ query.Append(newUrl);
+ }
+
if(checkParentId == true)
{
- query.Append(L"' AND PARENT_BOOKMARK_ID = '");
+ query.Append(L"' AND PARENT = '");
query.Append(parentId);
}
query.Append("'");
query.Append(L"DELETE FROM ");
query.Append(bookmarkTable);
- query.Append(" WHERE URL = '");
+ query.Append(" WHERE ADDRESS = '");
query.Append(url);
+
+ if(url.EndsWith(L"/"))
+ {
+ query.Append("' OR ADDRESS = '");
+ String newUrl = L"";
+ url.SubString(0,url.GetLength()-1 ,newUrl);
+ query.Append(newUrl);
+ }
+ else
+ {
+ query.Append("' OR ADDRESS = '");
+ String newUrl = url;
+// Url.SubString(0,Url.GetLength()-1 ,newUrl);
+ newUrl.Append(L"/");
+ query.Append(newUrl);
+
+ }
+
query.Append(L"'");
r = BookmarkPresentationModel::ExecuteQuery(query, resultCount);