--- a/javamanager/javasettings/appmngrplugin/src/appmngr2midletsettingshandler.cpp Wed Jun 09 09:34:07 2010 +0300
+++ b/javamanager/javasettings/appmngrplugin/src/appmngr2midletsettingshandler.cpp Mon Jun 21 15:32:50 2010 +0300
@@ -422,7 +422,7 @@
query.insert(attr);
attr.setEntry(FUNCTION_GROUP, L"");
query.insert(attr);
- iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, queryResult);
+ iStorage->search(MIDP_PERMISSIONS_TABLE, query, queryResult);
JavaStorageApplicationList_t::const_iterator iterator;
JavaStorageApplicationList_t settingsQueryResult;
MidletSuiteSecuritySettings settings;
@@ -431,33 +431,49 @@
std::wstring settingsName = L"";
JavaStorageApplicationEntry_t entry = (*iterator);
findColumn(entry, FUNCTION_GROUP, settingsName);
- entry.clear();
- query.clear();
- attr.setEntry(ID, iMidletSuiteUid.toString());
- query.insert(attr);
- attr.setEntry(FUNCTION_GROUP, settingsName);
- query.insert(attr);
- attr.setEntry(CURRENT_SETTING, L"");
- query.insert(attr);
- attr.setEntry(ALLOWED_SETTINGS , L"");
- query.insert(attr);
- settingsQueryResult.clear();
- iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, settingsQueryResult);
- if (settingsQueryResult.size() > 0)
+ if (settingsName.size() > 0)
{
- wstring currentInteractionMode = L"";
- wstring allowedInteractionModes = L"";
- findEntry(settingsQueryResult,CURRENT_SETTING , currentInteractionMode);
- findEntry(settingsQueryResult,ALLOWED_SETTINGS , allowedInteractionModes);
- if (currentInteractionMode.size() > 0 && allowedInteractionModes.size() > 0)
+ // go on only if the setting does not exist already
+ bool found = false;
+ for(int j=0; j<aMidletSuiteSecuritySettings.size(); j++)
+ {
+ if (settingsName == aMidletSuiteSecuritySettings[j].getName())
+ {
+ found = true;
+ break;
+ }
+ }
+ if (!found)
{
- settings = MidletSuiteSecuritySettings(
- settingsName,
- currentInteractionMode,
- allowedInteractionModes);
+ entry.clear();
+ query.clear();
+ attr.setEntry(ID, iMidletSuiteUid.toString());
+ query.insert(attr);
+ attr.setEntry(FUNCTION_GROUP, settingsName);
+ query.insert(attr);
+ attr.setEntry(CURRENT_SETTING, L"");
+ query.insert(attr);
+ attr.setEntry(ALLOWED_SETTINGS , L"");
+ query.insert(attr);
+ settingsQueryResult.clear();
+ iStorage->search(MIDP_FUNC_GRP_SETTINGS_TABLE, query, settingsQueryResult);
+ if (settingsQueryResult.size() > 0)
+ {
+ wstring currentInteractionMode = L"";
+ wstring allowedInteractionModes = L"";
+ findEntry(settingsQueryResult,CURRENT_SETTING , currentInteractionMode);
+ findEntry(settingsQueryResult,ALLOWED_SETTINGS , allowedInteractionModes);
+ if (currentInteractionMode.size() > 0 && allowedInteractionModes.size() > 0)
+ {
+ settings = MidletSuiteSecuritySettings(
+ settingsName,
+ currentInteractionMode,
+ allowedInteractionModes);
+ aMidletSuiteSecuritySettings.push_back(settings);
+ }
+ }
}
}
- aMidletSuiteSecuritySettings.push_back(settings);
}
}
catch (JavaStorageException& aJse)