summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/pers_svc_test/Makefile.am79
-rw-r--r--test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt1
-rw-r--r--test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml25
-rw-r--r--test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt3
-rw-r--r--test/pers_svc_test/inc/test_PAS.h172
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h38
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h39
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h38
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h38
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h39
-rw-r--r--test/pers_svc_test/inc/test_pas_check_data_after_reset.h41
-rw-r--r--test/pers_svc_test/inc/test_pas_data_backup_recovery.h131
-rw-r--r--test/pers_svc_test/inc/test_pas_data_import.h33
-rw-r--r--test/pers_svc_test/inc/test_pas_data_restore_default.h89
-rw-r--r--test/pers_svc_test/inc/test_pas_resource_config_add.h49
-rw-r--r--test/pers_svc_test/src/test_PAS.c1959
-rw-r--r--test/pers_svc_test/src/test_PAS_dbus.c233
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_backup_application.c100
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c195
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c212
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c212
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c226
-rw-r--r--test/pers_svc_test/src/test_pas_check_data_after_reset.c118
-rw-r--r--test/pers_svc_test/src/test_pas_import_all.c237
-rw-r--r--test/pers_svc_test/src/test_pas_import_app.c141
-rw-r--r--test/pers_svc_test/src/test_pas_import_source_content.c1011
-rw-r--r--test/pers_svc_test/src/test_pas_import_user.c170
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_All.c319
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c568
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_App1.c137
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c625
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_User1.c139
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c617
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c620
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_Users.c298
-rw-r--r--test/pers_svc_test/src/test_pas_recovery_backup_content.c886
-rw-r--r--test/pers_svc_test/src/test_pas_resource_config_add.c729
-rw-r--r--test/pers_svc_test/src/test_pas_restore_default_All.c350
-rw-r--r--test/pers_svc_test/src/test_pas_restore_default_App1.c351
-rw-r--r--test/pers_svc_test/src/test_pas_restore_default_User1.c253
-rw-r--r--test/pers_svc_test/src/test_pas_restore_default_User2App1.c253
-rw-r--r--test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c253
-rw-r--r--test/pers_svc_test/webtool_export/resource2.tar.gzbin0 -> 4396 bytes
-rw-r--r--test/persadmin_tool/Makefile.am38
-rw-r--r--test/persadmin_tool/src/persadmin_tool.c407
45 files changed, 12472 insertions, 0 deletions
diff --git a/test/pers_svc_test/Makefile.am b/test/pers_svc_test/Makefile.am
new file mode 100644
index 0000000..14d846e
--- /dev/null
+++ b/test/pers_svc_test/Makefile.am
@@ -0,0 +1,79 @@
+#######################################################################################################################
+#
+# Copyright (C) 2012 Continental Automotive Systems, Inc.
+#
+# Author: Ana.Chisca@continental-corporation.com
+#
+# Makefile template for the Persistence Administration Service Test Framework
+#
+# Process this file with automake to produce a Makefile.in.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#######################################################################################################################
+
+bin_PROGRAMS = pers_admin_test_framework
+
+#
+#
+# persistence administration service test framework.
+#
+#
+
+pers_admin_test_framework_CFLAGS = \
+ -I $(top_srcdir)/Administrator/inc/private -I $(top_srcdir)/Administrator/inc/public -I inc -I generated \
+ $(DLT_CFLAGS) \
+ $(GIO_CFLAGS) \
+ $(GIO_UNIX_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(GOBJECT_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ $(PERSCOMMON_CFLAGS) \
+ $(ARCHIVELIB_CFLAGS)
+
+pers_admin_test_framework_LDFLAGS = \
+ $(PLATFORM_LDFLAGS)
+
+pers_admin_test_framework_LDADD = \
+ $(DLT_LIBS) \
+ $(GIO_LIBS) \
+ $(GIO_UNIX_LIBS) \
+ $(GLIB_LIBS) \
+ $(DBUS_LIBS) \
+ $(GOBJECT_LIBS) \
+ $(PERSCOMMON_LIBS) \
+ $(ARCHIVELIB_LIBS) \
+ $(top_srcdir)/Administrator/libpers_admin_access_lib.la
+
+pers_admin_test_framework_SOURCES = \
+ $(top_srcdir)/Administrator/src/ssw_pers_admin_files_helper.c \
+ generated/PasModuleTestGen.c \
+ src/test_PAS.c \
+ src/test_pas_check_data_after_backup_application.c \
+ src/test_pas_check_data_after_backup_create_all.c \
+ src/test_pas_check_data_after_backup_user_all.c \
+ src/test_pas_check_data_after_backup_user2_seat_all.c \
+ src/test_pas_check_data_after_delete_user2_data.c \
+ src/test_pas_check_data_after_reset.c \
+ src/test_PAS_dbus.c \
+ src/test_pas_import_all.c \
+ src/test_pas_import_app.c \
+ src/test_pas_import_source_content.c \
+ src/test_pas_import_user.c \
+ src/test_pas_recovery_All.c \
+ src/test_pas_recovery_AllInitialContent.c \
+ src/test_pas_recovery_App1.c \
+ src/test_pas_recovery_App1InitialContent.c \
+ src/test_pas_recovery_backup_content.c \
+ src/test_pas_recovery_User1.c \
+ src/test_pas_recovery_User1InitialContent.c \
+ src/test_pas_recovery_User2Seat1InitialContent.c \
+ src/test_pas_recovery_Users.c \
+ src/test_pas_resource_config_add.c \
+ src/test_pas_restore_default_All.c \
+ src/test_pas_restore_default_App1.c \
+ src/test_pas_restore_default_User1.c \
+ src/test_pas_restore_default_User2App1.c \
+ src/test_pas_restore_default_User2Seat1.c
diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt
new file mode 100644
index 0000000..2e77971
--- /dev/null
+++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.txt
@@ -0,0 +1 @@
+gdbus-codegen --interface-prefix="org.genivi.persistence." --c-namespace="OipPersistence" --generate-c-code="PasModuleTestGen" OIPModuleTestPASCodeGeneration.xml \ No newline at end of file
diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml
new file mode 100644
index 0000000..12d7f10
--- /dev/null
+++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASCodeGeneration.xml
@@ -0,0 +1,25 @@
+<!--
+*
+* Copyright (C) 2012-2013 Continental Automotive GmbH.
+*
+* Author: guy.sagnes@continental-corporation.com
+*
+* XML model of the dbus interfaces for the test NodeStateMachine
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+-->
+<node>
+ <interface name="org.genivi.persistence.admintestframework">
+ <method name="ExecuteTestCases">
+ <arg name="noOfTestCases" type="i" direction="out"/>
+ <arg name="noOfTestCasesSuccessful" type="i" direction="out"/>
+ <arg name="noOfTestCasesFailed" type="i" direction="out"/>
+ </method>
+ </interface>
+</node>
diff --git a/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt
new file mode 100644
index 0000000..c607a15
--- /dev/null
+++ b/test/pers_svc_test/dbus_specifications/OIPModuleTestPASDBusCall.txt
@@ -0,0 +1,3 @@
+dbus-send --system --dest=org.genivi.persistence.admintestframework --print-reply \
+--type=method_call /org/genivi/persistence/admintestframework \
+org.genivi.persistence.admintestframework.ExecuteTestCases \ No newline at end of file
diff --git a/test/pers_svc_test/inc/test_PAS.h b/test/pers_svc_test/inc/test_PAS.h
new file mode 100644
index 0000000..8b50cca
--- /dev/null
+++ b/test/pers_svc_test/inc/test_PAS.h
@@ -0,0 +1,172 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Ionut.Ieremie@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2013.04.15 uidu0250 CSP_WZ#3424: Add IF extension for "restore to default"
+* 2012.11.29 uidv2833 CSP_WZ#1280: Adapted implementation for the new test framework
+* 2012.11.28 uidl9757 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_H
+#define SSW_TEST_PAS_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "persComRct.h"
+#include "persComDataOrg.h"
+
+/* needed because of change in PCL (should be removed later) */
+#define TST_DEFAULT_CONTEXT {0xFF, 0xFF, 0xFF}
+#define PERSISTENCE_ADMIN_TF_BUS_TYPE 1 //G_BUS_TYPE_SYSTEM (see gioenums.h)
+#define PERSISTENCE_ADMIN_TF_BUS_NAME "org.genivi.persistence.admintestframework"
+#define PERSISTENCE_ADMIN_TF_OBJ_PATH "/org/genivi/persistence/admintestframework"
+#define PERSISTENCE_ADMIN_TF_IFACE "org.genivi.persistence.admintestframework"
+
+#define MAX_PATH_SIZE ( 256 )
+#define MAX_APPLICATION_NAME_SIZE ( 64 )
+
+/* backup */
+#define NO_BACKUP ""
+#define BACKUP_NAME "/tmp/backup"
+
+#define BACKUP_FOLDER "/tmp/backups"
+#define BACKUP_FOLDER_ BACKUP_FOLDER "/"
+#define BACKUP_CONTENT_FOLDER BACKUP_FOLDER PERS_ORG_ROOT_PATH
+#define BACKUP_FORMAT (".arch.tar.gz")
+
+/* application */
+#define NO_APPLICATION ""
+#define APPLICATION_NAME "App1"
+
+/* user */
+//#define USER_DONT_CARE 0xFF
+//#define SEAT_DONT_CARE 0xFF
+
+typedef struct
+{
+ pstr_t resourceID ;
+ bool_t bIsKey ;
+ PersistenceConfigurationKey_s sRctEntry ;
+}entryRctInit_s ;
+
+typedef struct
+{
+ str_t LDBID;
+ pstr_t resourceID ;
+ PersistencePolicy_e policy ;
+ str_t userID ;
+ str_t seatID ;
+ pstr_t data ;
+}entryDataInit_s ;
+
+typedef struct
+{
+ pstr_t pResourceID ;
+ pstr_t data ;
+}defaultDataInit_s ;
+
+typedef enum
+{
+ dbType_local = 0,
+ dbType_RCT
+}dbType_e ;
+
+typedef struct
+{
+ pstr_t installFolderPath ;
+ pstr_t RCT_pathname ;
+ dbType_e RctDBtype ;
+ pstr_t wtDBpathname ;
+ dbType_e wtDBtype ;
+ pstr_t wcDBpathname ;
+ dbType_e wcDBtype ;
+ entryRctInit_s* RctInitTab ;
+ sint_t noEntriesRctInitTab ;
+ entryDataInit_s* dataKeysInitTab ;
+ sint_t noEntriesDataKeysInitTab ;
+ entryDataInit_s* dataFilesInitTab ;
+ sint_t noEntriesDataFilesInitTab ;
+
+ pstr_t factoryDefaultDBpathname ;
+ defaultDataInit_s* factoryDefaultInitTab ;
+ sint_t noEntriesFactoryDefaultInitTab ;
+ pstr_t configurableDefaultDBpathname ;
+ defaultDataInit_s* configurableDefaultInitTab ;
+ sint_t noEntriesConfigurableDefaultInitTab ;
+}dataInit_s ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Structures used for test cases ********************************************************************
+ *********************************************************************************************************************************************/
+typedef struct
+{
+ pstr_t key ; /* contains the complete name (with node, user,... prefix) */
+ pstr_t dbPath ; /* abs path to DB */
+ bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */
+ pstr_t expectedData ;
+ sint_t expectedDataSize ;
+}expected_key_data_localDB_s ;
+
+typedef struct
+{
+ pstr_t key ; /* contains the complete name (with node, user,... prefix) */
+ pstr_t dbPath ; /* abs path to DB */
+ bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */
+ PersistenceConfigurationKey_s sExpectedConfig ;
+}expected_key_data_RCT_s ;
+
+typedef struct
+{
+ pstr_t filename ; /* contains the complete name (with node, user,... prefix) */
+ bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */
+ pstr_t expectedData ;
+ sint_t expectedDataSize ;
+}expected_file_data_s ;
+
+/* test case prototype */
+typedef bool_t (*pfTestCase) (sint_t, void*) ;
+
+typedef struct
+{
+ pfTestCase TestCaseFunction ;
+ sint_t iParam ;
+ void* pvoidParam ;
+ pstr_t testCaseDescription ;
+ expected_key_data_RCT_s* pExpectedKeyDataRCT ;
+ sint_t noItemsInExpectedKeyDataRCT ;
+ expected_key_data_localDB_s* pExpectedKeyDataLocalDB ;
+ sint_t noItemsInExpectedKeyDataLocalDB ;
+ expected_file_data_s* pExpectedFileData ;
+ sint_t noItemsInExpectedFileData ;
+ bool_t bSkipDataReset ;
+}testcase_s ;
+
+bool_t InitDataFolder(dataInit_s* psDataInit) ;
+sint_t DeleteFolderContent(pstr_t folderPath);
+sint_t DeleteFolder(pstr_t folderPath);
+sint_t CheckIfFileExists(pstr_t pathname, bool_t bIsFolder);
+bool_t ExecuteTestCases(sint_t *pNoOfTestCases,
+ sint_t *pNoOfTestCasesSuccessful,
+ sint_t *pNoOfTestCasesFailed );
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_H */
+
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h
new file mode 100644
index 0000000..13e80a6
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_application.h
@@ -0,0 +1,38 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupApplication[16] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterBackupApplication[10] ;
+
+bool_t Test_DataAfterBackupCreateApplication(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_APPLICATION_H*/
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h
new file mode 100644
index 0000000..bdd4dab
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_create_all.h
@@ -0,0 +1,39 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupCreateAll[80] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterBackupCreateAll[50] ;
+
+bool_t Test_DataAfterBackupCreateAll(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_CREATE_ALL_H */
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h
new file mode 100644
index 0000000..fecbd89
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user2_seat_all.h
@@ -0,0 +1,38 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[80] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterBackupUser2SeatAll[50] ;
+
+bool_t Test_DataAfterBackupCreateUser2SeatAll(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER2_SEAT_ALL_H*/
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h
new file mode 100644
index 0000000..75f25c7
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_backup_user_all.h
@@ -0,0 +1,38 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUserAll[80] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterBackupUserAll[50] ;
+
+bool_t Test_DataAfterBackupCreateUserAll(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_BACKUP_USER_ALL_H*/
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h b/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h
new file mode 100644
index 0000000..6c44380
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_delete_user2_data.h
@@ -0,0 +1,39 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[80] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterDeleteUser2Data[50] ;
+
+bool_t Test_DataAfterDeleteUser2Data(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_DELETE_USER2_DATA_H */
diff --git a/test/pers_svc_test/inc/test_pas_check_data_after_reset.h b/test/pers_svc_test/inc/test_pas_check_data_after_reset.h
new file mode 100644
index 0000000..64dd7c3
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_check_data_after_reset.h
@@ -0,0 +1,41 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H
+#define SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+//extern const testcase_s const* pTC_testDataAfterReset;
+extern expected_key_data_RCT_s expectedKeyData_shared_public_RCT_AfterReset[13] ;
+extern expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterReset[18] ;
+extern expected_file_data_s expectedFileData_shared_public_AfterReset[11] ;
+
+bool_t Test_DataAfterReset(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_CHECK_DATA_AFTER_RESET_H */
diff --git a/test/pers_svc_test/inc/test_pas_data_backup_recovery.h b/test/pers_svc_test/inc/test_pas_data_backup_recovery.h
new file mode 100644
index 0000000..d4c9925
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_data_backup_recovery.h
@@ -0,0 +1,131 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H
+#define SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+#define BACKUP_FOLDER "/tmp/backups"
+#define BACKUP_FOLDER_ BACKUP_FOLDER "/"
+#define BACKUP_CONTENT_FOLDER BACKUP_FOLDER PERS_ORG_ROOT_PATH
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+#define BACKUP_FORMAT (".arch.tar.gz")
+
+#define USER_DONT_CARE 0xFF
+#define SEAT_DONT_CARE 0xFF
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+bool_t ResetBackupContent(PersASSelectionType_e type, char* applicationID);
+
+//===================================================================================================================
+// RECOVER DATA - App1
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_App1[24];
+extern expected_file_data_s expected_file_data_after_restore_App1[16];
+
+bool_t Test_Recover_App1(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - User 1
+//===================================================================================================================
+extern expected_key_data_localDB_s expected_App1_key_data_after_restore_User1[24];
+extern expected_file_data_s expected_App1_file_data_after_restore_User1[16];
+
+bool_t Test_Recover_User1(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - All
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_All[23 + 24 + 48 + 44];
+extern expected_file_data_s expected_file_data_after_restore_All[16 + 16 + 16];
+
+bool_t Test_Recover_All(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - Users
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_Users[23 + 24 + 24 + 24 + 22];
+extern expected_file_data_s expected_file_data_after_restore_Users[16 + 16 + 16];
+
+bool_t Test_Recover_Users(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - All InitialContent
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_All_InitialContent[16 + 16 + 16 + 32 + 32];
+extern expected_file_data_s expected_file_data_after_restore_All_InitialContent[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Recover_All_InitialContent(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - App1 InitialContent
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_App1_InitialContent[16 + 16 + 16 + 32 + 32];
+extern expected_file_data_s expected_file_data_after_restore_App1_InitialContent[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Recover_App1_InitialContent_From_All(sint_t type, void* pv);
+bool_t Test_Recover_App1_InitialContent_From_App1(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RECOVER DATA - User1 InitialContent
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_User1_InitialContent[16 + 16 + 16 + 32 + 32];
+extern expected_file_data_s expected_file_data_after_restore_User1_InitialContent[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Recover_User1_InitialContent_From_All(sint_t type, void* pv);
+bool_t Test_Recover_User1_InitialContent_From_User1(sint_t type, void* pv);
+
+//===================================================================================================================
+// RECOVER DATA - User2 Seat1 InitialContent
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_User2_Seat1_InitialContent[16 + 16 + 16 + 32 + 32];
+extern expected_file_data_s expected_file_data_after_restore_User2_Seat1_InitialContent[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Recover_User2_Seat1_InitialContent_From_All(sint_t type, void* pv);
+bool_t Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1(sint_t type, void* pv);
+
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_DATA_BACKUP_RECOVERY_H */
diff --git a/test/pers_svc_test/inc/test_pas_data_import.h b/test/pers_svc_test/inc/test_pas_data_import.h
new file mode 100644
index 0000000..314e13c
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_data_import.h
@@ -0,0 +1,33 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+bool_t ResetImportData(PersASSelectionType_e type);
+bool_t Test_import_all_app(sint_t type, void* pv);
+bool_t Test_import_all_all(sint_t type, void* pv);
+bool_t Test_import_all_user(sint_t type, void* pv);
+
+extern expected_key_data_localDB_s expected_key_data_after_import_app_all[22];
+extern expected_file_data_s expected_file_data_after_import_app_all[12];
+
+extern expected_key_data_localDB_s expected_key_data_after_import_all_all[57];
+extern expected_file_data_s expected_file_data_after_import_all_all[30];
+
+extern expected_key_data_localDB_s expected_key_data_after_import_all_user[57];
+extern expected_file_data_s expected_file_data_after_import_all_user[30];
diff --git a/test/pers_svc_test/inc/test_pas_data_restore_default.h b/test/pers_svc_test/inc/test_pas_data_restore_default.h
new file mode 100644
index 0000000..eb628e8
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_data_restore_default.h
@@ -0,0 +1,89 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#ifndef SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H
+#define SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+typedef struct
+{
+ pstr_t filename; /* contains the full path (with node, user,... prefix) */
+ bool_t bIsFolder; /* if true, the filename is a folder */
+ bool_t bExpectedToExist; /* if true, the key is expected to be found in the indicated DB */
+}expected_default_file_data_s;
+
+//===================================================================================================================
+// RESTORE DEFAULT - App1
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_default_App1[16 + 16 + 16 + 16 + 16];
+extern expected_file_data_s expected_file_data_after_restore_default_App1[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Restore_Factory_Default_App1(sint_t type, void* pv);
+bool_t Test_Restore_Configurable_Default_App1(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RESTORE DEFAULT - User 1
+//===================================================================================================================
+extern expected_key_data_localDB_s expected_key_data_after_restore_default_User1[16 + 16 + 16 + 16 + 16];
+extern expected_file_data_s expected_file_data_after_restore_default_User1[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Restore_Configurable_Default_User1(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RESTORE DEFAULT - All
+//===================================================================================================================
+extern expected_key_data_localDB_s expected_key_data_after_restore_default_All[16 + 16 + 16 + 16 + 16];
+extern expected_file_data_s expected_file_data_after_restore_default_All[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Restore_Factory_Default_All(sint_t type, void* pv);
+bool_t Test_Restore_Configurable_Default_All(sint_t type, void* pv);
+
+
+//===================================================================================================================
+// RESTORE DEFAULT - User2 Seat1
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_default_User2Seat1[16 + 16 + 16 + 16 + 16];
+extern expected_file_data_s expected_file_data_after_restore_default_User2Seat1[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Restore_Configurable_Default_User2Seat1(sint_t type, void* pv);
+
+//===================================================================================================================
+// RESTORE DEFAULT - User2 App1
+//===================================================================================================================
+
+extern expected_key_data_localDB_s expected_key_data_after_restore_default_User2App1[16 + 16 + 16 + 16 + 16];
+extern expected_file_data_s expected_file_data_after_restore_default_User2App1[10 + 10 + 10 + 10 + 10];
+
+bool_t Test_Restore_Configurable_Default_User2App1(sint_t type, void* pv);
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_DATA_RESTORE_DEFAULT_H*/
diff --git a/test/pers_svc_test/inc/test_pas_resource_config_add.h b/test/pers_svc_test/inc/test_pas_resource_config_add.h
new file mode 100644
index 0000000..d2ee86e
--- /dev/null
+++ b/test/pers_svc_test/inc/test_pas_resource_config_add.h
@@ -0,0 +1,49 @@
+/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #ifndef SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H
+#define SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* #ifdef __cplusplus */
+
+#include "persComTypes.h"
+#include "test_PAS.h"
+
+extern expected_key_data_RCT_s expectedKeyData_RCT_resConfAdd_1[17] ;
+extern expected_key_data_localDB_s expectedKeyData_localDB_resConfAdd_1[41] ;
+expected_file_data_s expectedKeyData_files_resConfAdd_1[16] ;
+//extern expected_file_data_s expectedFileData_shared_public_AfterReset[11] ;
+
+extern expected_key_data_RCT_s expected_RCT_public[13] ;
+extern expected_key_data_localDB_s expectedKeyData_public[29] ;
+extern expected_file_data_s expectedFileData_public[18] ;
+
+extern expected_key_data_RCT_s expected_RCT_group_10[12] ;
+extern expected_key_data_localDB_s expectedKeyData_group_10[24] ;
+extern expected_file_data_s expectedFileData_group_10[18] ;
+
+extern expected_key_data_RCT_s expected_RCT_group_20[12] ;
+extern expected_key_data_localDB_s expectedKeyData_group_20[16] ;
+extern expected_file_data_s expectedFileData_group_20[10] ;
+
+extern expected_key_data_RCT_s expected_RCT_group_30[6] ;
+extern expected_key_data_localDB_s expectedKeyData_group_30[8] ;
+extern expected_file_data_s expectedFileData_group_30[4] ;
+
+extern expected_key_data_RCT_s expected_RCT_App30_Phase_1[6] ;
+extern expected_key_data_localDB_s expectedKeyData_App30_Phase_1[8] ;
+extern expected_file_data_s expectedFileData_App30_Phase_1[4] ;
+
+extern expected_key_data_RCT_s expected_RCT_public[13] ;
+extern expected_key_data_localDB_s expectedKeyData_public_phase2[29] ;
+extern expected_file_data_s expectedFileData_public_phase2[18] ;
+
+bool_t Test_ResourceConfigAdd_1(int ceva, void* pAltceva) ;
+bool_t Test_ResourceConfigAdd_2(int ceva, void* pAltceva) ;
+
+#ifdef __cplusplus
+}
+#endif /* extern "C" { */
+
+#endif /*SSW_TEST_PAS_RESOURCE_CONFIG_ADD_H */
diff --git a/test/pers_svc_test/src/test_PAS.c b/test/pers_svc_test/src/test_PAS.c
new file mode 100644
index 0000000..852c72b
--- /dev/null
+++ b/test/pers_svc_test/src/test_PAS.c
@@ -0,0 +1,1959 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Ionut.Ieremie@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+ 2013.04.15 uidu0250 CSP_WZ#3424: Add IF extension for "restore to default"
+ 2013.01.24 uidu0250 CSP_WZ#2246: Added additional test cases for persAdminDataBackupRecovery
+ 2012.12.11 uidu0250 CSP_WZ#1280: Added test cases for persAdminDataBackupRecovery
+ 2012.11.23 uidn3591, uidv2833 CSP_WZ#1280: Added test cases for persAdminDataBackupCreate & persAdminUserDataDelete
+ 2012.11.21 uidl9757 CSP_WZ#1280: Created (only framework and a dummy test case)
+*
+**********************************************************************************************************************/
+
+/* ---------------------- include files --------------------------------- */
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include "malloc.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "persComErrors.h"
+#include "persComDataOrg.h"
+#include "persComDbAccess.h"
+#include "persComRct.h"
+
+#include "ssw_pers_admin_files_helper.h"
+#include "ssw_pers_admin_dbus.h"
+
+#include "persistence_admin_service.h"
+
+#include "test_PAS.h"
+
+
+#include "test_pas_check_data_after_reset.h"
+#include "test_pas_data_backup_recovery.h"
+#include "test_pas_data_restore_default.h"
+#include "test_pas_resource_config_add.h"
+#include "test_pas_data_import.h"
+#include "test_pas_check_data_after_backup_application.h"
+#include "test_pas_check_data_after_delete_user2_data.h"
+#include "test_pas_check_data_after_backup_create_all.h"
+#include "test_pas_check_data_after_backup_user_all.h"
+#include "test_pas_check_data_after_backup_user2_seat_all.h"
+
+/* L&T context */
+#define LT_HDR "TEST_PAS >> "
+
+//static DLT_DECLARE_CONTEXT(testPersAdminDLTCtx);
+DLT_DECLARE_CONTEXT(persAdminSvcDLTCtx) ;
+#define testPersAdminDLTCtx persAdminSvcDLTCtx
+str_t g_msg[512] ;
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+
+static entryRctInit_s RCT_public_init[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeysPublicInit[] =
+{
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingA"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingC"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/ABC::user1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/ABC::user2"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/ABC::user3"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/ABC::user4"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/pubSetting/DEF::user2"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"}
+} ;
+
+
+static entryDataInit_s dataFilesPublicInit[] =
+{
+ {0, PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"},
+ {0, PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>/docA.txt::user1"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>/docA.txt::user2"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>/docA.txt::user3"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>/docA.txt::user4"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"},
+ {0, PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"}
+};
+
+static defaultDataInit_s factoryDefaultInitKey[] =
+{
+ {"pubSettingA", "FactoryDefault : pubSettingA : orig" },
+ {"pubSettingD", "FactoryDefault : pubSettingD : orig" },
+ {"pubSetting/ABC", "FactoryDefault : pubSetting/ABC : orig" }
+};
+
+static defaultDataInit_s configurableDefaultInitKey[] =
+{
+ {"pubSettingA", "ConfigurableDefault : pubSettingA : orig" },
+ {"pubSetting/ABC", "ConfigurableDefault : pubSetting/ABC : orig" }
+};
+
+static dataInit_s sSharedPubDataInit =
+{
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init,
+ sizeof(RCT_public_init)/sizeof(RCT_public_init[0]),
+ dataKeysPublicInit,
+ sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]),
+ dataFilesPublicInit,
+ sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0]),
+
+ "/Data/mnt-wt/shared/public"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_,
+ factoryDefaultInitKey,
+ sizeof(factoryDefaultInitKey)/sizeof(factoryDefaultInitKey[0]),
+ "/Data/mnt-wt/shared/public"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_,
+ configurableDefaultInitKey,
+ sizeof(configurableDefaultInitKey)/sizeof(configurableDefaultInitKey[0])
+} ;
+
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group10_init[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group10_Init[] =
+{
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingA"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingC"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/ABC::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/ABC::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/ABC::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/ABC::user4"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"}
+} ;
+
+static defaultDataInit_s dataKeys_Group10_FactoryDefaultInit[] =
+{
+ {"gr10_SettingA", "FactoryDefault : gr10_SettingA : orig" },
+ {"gr10_SettingB", "FactoryDefault : gr10_SettingB : orig" },
+ {"gr10_SettingC", "FactoryDefault : gr10_SettingC : orig" },
+ {"gr10_Setting/ABC", "FactoryDefault : gr10_Setting/ABC : orig" }
+};
+
+static defaultDataInit_s dataKeys_Group10_ConfigurableDefaultInit[] =
+{
+ {"gr10_SettingA", "ConfigurableDefault : gr10_SettingA : orig" },
+ {"gr10_SettingB", "ConfigurableDefault : gr10_SettingB : orig" },
+ {"gr10_SettingC", "ConfigurableDefault : gr10_SettingC : orig" },
+ {"gr10_Setting/ABC", "ConfigurableDefault : gr10_Setting/ABC : orig" }
+};
+
+static entryDataInit_s dataFiles_Group10_Init[] =
+{
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"},
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/gr10_2.txt::user1"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/gr10_2.txt::user2"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/gr10_2.txt::user3"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/gr10_2.txt::user4"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"},
+ /* factory-default data */
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt factory-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt factory-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/gr10_2.txt factory-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/Docs/gr10_B.txt factory-default : orig"},
+ /* configurable-default data */
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt configurable-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/gr10_2.txt configurable-default : orig"},
+ {0x10, PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", PersistencePolicy_wc, 0, 0, "File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig"},
+};
+
+
+static dataInit_s sShared_Group10_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init,
+ sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]),
+ dataKeys_Group10_Init,
+ sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]),
+ dataFiles_Group10_Init,
+ sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0]),
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_,
+ dataKeys_Group10_FactoryDefaultInit,
+ sizeof(dataKeys_Group10_FactoryDefaultInit)/sizeof(dataKeys_Group10_FactoryDefaultInit[0]),
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_,
+ dataKeys_Group10_ConfigurableDefaultInit,
+ sizeof(dataKeys_Group10_ConfigurableDefaultInit)/sizeof(dataKeys_Group10_ConfigurableDefaultInit[0])
+} ;
+
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group20_init[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group20_Init[] =
+{
+ {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingA"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"},
+ {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingC"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/ABC::user1"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/ABC::user2"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/ABC::user3"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/ABC::user4"},
+ {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"},
+ {0x20, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"},
+ {0x20, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"}
+};
+
+static entryDataInit_s dataFiles_Group20_Init[] =
+{
+ {0x20, PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"},
+ {0x20, PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docA.txt::user1"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docA.txt::user2"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docA.txt::user3"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docA.txt::user4"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"},
+ {0x20, PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"}
+};
+
+
+static dataInit_s sShared_Group20_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init,
+ sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]),
+ dataKeys_Group20_Init,
+ sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]),
+ dataFiles_Group20_Init,
+ sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0]),
+ NIL,
+ NIL,
+ 0,
+ NIL,
+ NIL,
+ 0
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App1_init[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"},{NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App1_Init[] =
+{
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingA"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingC"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/ABC::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/ABC::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/ABC::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/ABC::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"}
+} ;
+
+static entryDataInit_s dataFiles_App1_Init[] =
+{
+ {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"},
+ {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docA.txt::user1"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docA.txt::user2"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docA.txt::user3"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docA.txt::user4"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"}
+};
+
+
+static dataInit_s s_App1_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init,
+ sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]),
+ dataKeys_App1_Init,
+ sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]),
+ dataFiles_App1_Init,
+ sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0]),
+ NIL,
+ NIL,
+ 0,
+ NIL,
+ NIL,
+ 0
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App2_init[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"},{NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App2_Init[] =
+{
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingA"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingC"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/ABC::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/ABC::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/ABC::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/ABC::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"}
+} ;
+
+static entryDataInit_s dataFiles_App2_Init[] =
+{
+ {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"},
+ {0xFF, PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docA.txt::user1"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docA.txt::user2"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docA.txt::user3"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docA.txt::user4"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"},
+ {0xFF, PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"}
+};
+
+
+static dataInit_s s_App2_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init,
+ sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]),
+ dataKeys_App2_Init,
+ sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]),
+ dataFiles_App2_Init,
+ sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0]),
+ NIL,
+ NIL,
+ 0,
+ NIL,
+ NIL,
+ 0
+} ;
+
+
+
+#if 0
+expected_key_data_localDB_s expectedKeyDataAfterExportAll[] =
+{
+ /* add here ... */
+};
+expected_file_data_s expectedFileDataAfterExportAll[] =
+{
+ /* add here ... */
+}
+#endif
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+
+testcase_s tc_testDataAfterReset =
+{
+ Test_DataAfterReset,
+ 0,
+ NIL,
+ "Check reference data structure after initialization",
+ expectedKeyData_shared_public_RCT_AfterReset,
+ sizeof(expectedKeyData_shared_public_RCT_AfterReset)/sizeof(expectedKeyData_shared_public_RCT_AfterReset[0]),
+ expectedKeyData_shared_public_localDB_AfterReset,
+ sizeof(expectedKeyData_shared_public_localDB_AfterReset)/sizeof(expectedKeyData_shared_public_localDB_AfterReset[0]),
+ expectedFileData_shared_public_AfterReset,
+ sizeof(expectedFileData_shared_public_AfterReset)/sizeof(expectedFileData_shared_public_AfterReset[0])
+};
+
+testcase_s tc_testResourceConfigAdd_public =
+{
+ Test_ResourceConfigAdd_1,
+ 0,
+ NIL,
+ "Resource Config Add : Configure public",
+ expected_RCT_public,
+ sizeof(expected_RCT_public)/sizeof(expected_RCT_public[0]),
+ expectedKeyData_public,
+ sizeof(expectedKeyData_public)/sizeof(expectedKeyData_public[0]),
+ expectedFileData_public,
+ sizeof(expectedFileData_public)/sizeof(expectedFileData_public[0]),
+ false
+};
+
+testcase_s tc_testResourceConfigAdd_group_10 =
+{
+ NIL, //skip it
+ 0,
+ NIL,
+ "Resource Config Add : Configure group 10",
+ expected_RCT_group_10,
+ sizeof(expected_RCT_group_10)/sizeof(expected_RCT_group_10[0]),
+ expectedKeyData_group_10,
+ sizeof(expectedKeyData_group_10)/sizeof(expectedKeyData_group_10[0]),
+ expectedFileData_group_10,
+ sizeof(expectedFileData_group_10)/sizeof(expectedFileData_group_10[0]),
+ true //skip data reset
+};
+
+testcase_s tc_testResourceConfigAdd_group_20 =
+{
+ NIL, //skip it
+ 0,
+ NIL,
+ "Resource Config Add : Configure group 20",
+ expected_RCT_group_20,
+ sizeof(expected_RCT_group_20)/sizeof(expected_RCT_group_20[0]),
+ expectedKeyData_group_20,
+ sizeof(expectedKeyData_group_20)/sizeof(expectedKeyData_group_20[0]),
+ expectedFileData_group_20,
+ sizeof(expectedFileData_group_20)/sizeof(expectedFileData_group_20[0]),
+ true //skip data reset
+};
+
+testcase_s tc_testResourceConfigAdd_group_30 =
+{
+ NIL, //skip it
+ 0,
+ NIL,
+ "Resource Config Add : Configure new group 30",
+ expected_RCT_group_30,
+ sizeof(expected_RCT_group_30)/sizeof(expected_RCT_group_30[0]),
+ expectedKeyData_group_30,
+ sizeof(expectedKeyData_group_30)/sizeof(expectedKeyData_group_30[0]),
+ expectedFileData_group_30,
+ sizeof(expectedFileData_group_30)/sizeof(expectedFileData_group_30[0]),
+ true //skip data reset
+};
+
+testcase_s tc_testResourceConfigAdd_App30 =
+{
+ NIL, //skip it
+ 0,
+ NIL,
+ "Resource Config Add : Configure new App30",
+ expected_RCT_App30_Phase_1,
+ sizeof(expected_RCT_App30_Phase_1)/sizeof(expected_RCT_App30_Phase_1[0]),
+ expectedKeyData_App30_Phase_1,
+ sizeof(expectedKeyData_App30_Phase_1)/sizeof(expectedKeyData_App30_Phase_1[0]),
+ expectedFileData_App30_Phase_1,
+ sizeof(expectedFileData_App30_Phase_1)/sizeof(expectedFileData_App30_Phase_1[0]),
+ true //skip data reset
+};
+
+testcase_s tc_testResourceConfigAdd_public_phase_2 =
+{
+ Test_ResourceConfigAdd_2,
+ 0,
+ NIL,
+ "Resource Config Add : Configure public - Phase 2",
+ expected_RCT_public,
+ sizeof(expected_RCT_public)/sizeof(expected_RCT_public[0]),
+ expectedKeyData_public_phase2,
+ sizeof(expectedKeyData_public_phase2)/sizeof(expectedKeyData_public_phase2[0]),
+ expectedFileData_public_phase2,
+ sizeof(expectedFileData_public_phase2)/sizeof(expectedFileData_public_phase2[0]),
+ true //skip data reset
+};
+
+testcase_s tc_testDataAfterDeleteUser2Data =
+{
+ Test_DataAfterDeleteUser2Data,
+ 0,
+ NIL,
+ "Check user data delete for user 2 data",
+ NIL,
+ 0,
+ expectedKeyData_shared_public_localDB_AfterDeleteUser2Data,
+ sizeof(expectedKeyData_shared_public_localDB_AfterDeleteUser2Data)/sizeof(expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[0]),
+ expectedFileData_shared_public_AfterDeleteUser2Data,
+ sizeof(expectedFileData_shared_public_AfterDeleteUser2Data)/sizeof(expectedFileData_shared_public_AfterDeleteUser2Data[0]),
+ false
+};
+
+testcase_s tc_testDataAfterBackupCreateAll =
+{
+ Test_DataAfterBackupCreateAll,
+ 0,
+ NIL,
+ "Check data backup create all",
+ NIL,
+ 0,
+ expectedKeyData_shared_public_localDB_AfterBackupCreateAll,
+ sizeof(expectedKeyData_shared_public_localDB_AfterBackupCreateAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupCreateAll[0]),
+ expectedFileData_shared_public_AfterBackupCreateAll,
+ sizeof(expectedFileData_shared_public_AfterBackupCreateAll)/sizeof(expectedFileData_shared_public_AfterBackupCreateAll[0]),
+ false
+};
+
+testcase_s tc_testDataAfterBackupCreateApplication =
+{
+ Test_DataAfterBackupCreateApplication,
+ 0,
+ NIL,
+ "Check data backup create application",
+ NIL,
+ 0,
+ expectedKeyData_shared_public_localDB_AfterBackupApplication,
+ sizeof(expectedKeyData_shared_public_localDB_AfterBackupApplication)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupApplication[0]),
+ expectedFileData_shared_public_AfterBackupApplication,
+ sizeof(expectedFileData_shared_public_AfterBackupApplication)/sizeof(expectedFileData_shared_public_AfterBackupApplication[0]),
+ false
+};
+
+testcase_s tc_testDataAfterBackupCreateUserAll =
+{
+ Test_DataAfterBackupCreateUserAll,
+ 0,
+ NIL,
+ "Check data backup create user all",
+ NIL,
+ 0,
+ expectedKeyData_shared_public_localDB_AfterBackupUserAll,
+ sizeof(expectedKeyData_shared_public_localDB_AfterBackupUserAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupUserAll[0]),
+ expectedFileData_shared_public_AfterBackupUserAll,
+ sizeof(expectedFileData_shared_public_AfterBackupUserAll)/sizeof(expectedFileData_shared_public_AfterBackupUserAll[0]),
+ false
+};
+
+testcase_s tc_testDataAfterBackupCreateUser2SeatAll =
+{
+ Test_DataAfterBackupCreateUser2SeatAll,
+ 0,
+ NIL,
+ "Check data backup create user 2 seat all",
+ NIL,
+ 0,
+ expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll,
+ sizeof(expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll)/sizeof(expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[0]),
+ expectedFileData_shared_public_AfterBackupUser2SeatAll,
+ sizeof(expectedFileData_shared_public_AfterBackupUser2SeatAll)/sizeof(expectedFileData_shared_public_AfterBackupUser2SeatAll[0]),
+ false
+};
+
+testcase_s tc_test_Recover_App1 =
+{
+ Test_Recover_App1,
+ 0,
+ NIL,
+ "Check reference data structure after App1 recovery",
+ NIL,
+ 0,
+ expected_key_data_after_restore_App1,
+ sizeof(expected_key_data_after_restore_App1)/sizeof(expected_key_data_after_restore_App1[0]),
+ expected_file_data_after_restore_App1,
+ sizeof(expected_file_data_after_restore_App1)/sizeof(expected_file_data_after_restore_App1[0]),
+ false
+};
+
+testcase_s tc_test_Recover_User1 =
+{
+ Test_Recover_User1,
+ 0,
+ NIL,
+ "Check reference data structure after User1 recovery",
+ NIL,
+ 0,
+ expected_App1_key_data_after_restore_User1,
+ sizeof(expected_App1_key_data_after_restore_User1)/sizeof(expected_App1_key_data_after_restore_User1[0]),
+ expected_App1_file_data_after_restore_User1,
+ sizeof(expected_App1_file_data_after_restore_User1)/sizeof(expected_App1_file_data_after_restore_User1[0]),
+ false
+};
+
+testcase_s tc_test_Recover_All =
+{
+ Test_Recover_All,
+ 0,
+ NIL,
+ "Check reference data structure after All recovery",
+ NIL,
+ 0,
+ expected_key_data_after_restore_All,
+ sizeof(expected_key_data_after_restore_All)/sizeof(expected_key_data_after_restore_All[0]),
+ expected_file_data_after_restore_All,
+ sizeof(expected_file_data_after_restore_All)/sizeof(expected_file_data_after_restore_All[0]),
+ false
+};
+
+testcase_s tc_test_Recover_Users =
+{
+ Test_Recover_Users,
+ 0,
+ NIL,
+ "Check reference data structure after All recovery",
+ NIL,
+ 0,
+ expected_key_data_after_restore_Users,
+ sizeof(expected_key_data_after_restore_Users)/sizeof(expected_key_data_after_restore_Users[0]),
+ expected_file_data_after_restore_Users,
+ sizeof(expected_file_data_after_restore_Users)/sizeof(expected_file_data_after_restore_Users[0]),
+ false
+};
+
+testcase_s tc_test_Recover_All_InitialContent =
+{
+ Test_Recover_All_InitialContent,
+ 0,
+ NIL,
+ "Check reference data structure after All InitialContent recovery",
+ NIL,
+ 0,
+ expected_key_data_after_restore_All_InitialContent,
+ sizeof(expected_key_data_after_restore_All_InitialContent)/sizeof(expected_key_data_after_restore_All_InitialContent[0]),
+ expected_file_data_after_restore_All_InitialContent,
+ sizeof(expected_file_data_after_restore_All_InitialContent)/sizeof(expected_file_data_after_restore_All_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_App1_InitialContent_From_All =
+{
+ Test_Recover_App1_InitialContent_From_All,
+ 0,
+ NIL,
+ "Check reference data structure after App1 InitialContent recovery from All",
+ NIL,
+ 0,
+ expected_key_data_after_restore_App1_InitialContent,
+ sizeof(expected_key_data_after_restore_App1_InitialContent)/sizeof(expected_key_data_after_restore_App1_InitialContent[0]),
+ expected_file_data_after_restore_App1_InitialContent,
+ sizeof(expected_file_data_after_restore_App1_InitialContent)/sizeof(expected_file_data_after_restore_App1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_App1_InitialContent_From_App1 =
+{
+ Test_Recover_App1_InitialContent_From_App1,
+ 0,
+ NIL,
+ "Check reference data structure after App1 InitialContent recovery from App1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_App1_InitialContent,
+ sizeof(expected_key_data_after_restore_App1_InitialContent)/sizeof(expected_key_data_after_restore_App1_InitialContent[0]),
+ expected_file_data_after_restore_App1_InitialContent,
+ sizeof(expected_file_data_after_restore_App1_InitialContent)/sizeof(expected_file_data_after_restore_App1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_User1_InitialContent_From_All =
+{
+ Test_Recover_User1_InitialContent_From_All,
+ 0,
+ NIL,
+ "Check reference data structure after User1 InitialContent recovery from All",
+ NIL,
+ 0,
+ expected_key_data_after_restore_User1_InitialContent,
+ sizeof(expected_key_data_after_restore_User1_InitialContent)/sizeof(expected_key_data_after_restore_User1_InitialContent[0]),
+ expected_file_data_after_restore_User1_InitialContent,
+ sizeof(expected_file_data_after_restore_User1_InitialContent)/sizeof(expected_file_data_after_restore_User1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_User1_InitialContent_From_User1 =
+{
+ Test_Recover_User1_InitialContent_From_User1,
+ 0,
+ NIL,
+ "Check reference data structure after User1 InitialContent recovery from User1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_User1_InitialContent,
+ sizeof(expected_key_data_after_restore_User1_InitialContent)/sizeof(expected_key_data_after_restore_User1_InitialContent[0]),
+ expected_file_data_after_restore_User1_InitialContent,
+ sizeof(expected_file_data_after_restore_User1_InitialContent)/sizeof(expected_file_data_after_restore_User1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_User2_Seat1_InitialContent_From_All =
+{
+ Test_Recover_User2_Seat1_InitialContent_From_All,
+ 0,
+ NIL,
+ "Check reference data structure after User2 Seat1 InitialContent recovery from All",
+ NIL,
+ 0,
+ expected_key_data_after_restore_User2_Seat1_InitialContent,
+ sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent[0]),
+ expected_file_data_after_restore_User2_Seat1_InitialContent,
+ sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Recover_User2_Seat1_InitialContent_From_User2_Seat1 =
+{
+ Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1,
+ 0,
+ NIL,
+ "Check reference data structure after User2 Seat1 InitialContent recovery from User2 Seat1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_User2_Seat1_InitialContent,
+ sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_key_data_after_restore_User2_Seat1_InitialContent[0]),
+ expected_file_data_after_restore_User2_Seat1_InitialContent,
+ sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent)/sizeof(expected_file_data_after_restore_User2_Seat1_InitialContent[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Factory_Default_App1 =
+{
+ Test_Restore_Factory_Default_App1,
+ 0,
+ NIL,
+ "Check reference data structure after restore to factory default of App1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_App1,
+ sizeof(expected_key_data_after_restore_default_App1)/sizeof(expected_key_data_after_restore_default_App1[0]),
+ expected_file_data_after_restore_default_App1,
+ sizeof(expected_file_data_after_restore_default_App1)/sizeof(expected_file_data_after_restore_default_App1[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Configurable_Default_App1 =
+{
+ Test_Restore_Configurable_Default_App1,
+ 0,
+ NIL,
+ "Check reference data structure after restore to configurable default of App1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_App1,
+ sizeof(expected_key_data_after_restore_default_App1)/sizeof(expected_key_data_after_restore_default_App1[0]),
+ expected_file_data_after_restore_default_App1,
+ sizeof(expected_file_data_after_restore_default_App1)/sizeof(expected_file_data_after_restore_default_App1[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Configurable_Default_User1 =
+{
+ Test_Restore_Configurable_Default_User1,
+ 0,
+ NIL,
+ "Check reference data structure after restore to configurable default of User1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_User1,
+ sizeof(expected_key_data_after_restore_default_User1)/sizeof(expected_key_data_after_restore_default_User1[0]),
+ expected_file_data_after_restore_default_User1,
+ sizeof(expected_file_data_after_restore_default_User1)/sizeof(expected_file_data_after_restore_default_User1[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Configurable_Default_User2Seat1 =
+{
+ Test_Restore_Configurable_Default_User2Seat1,
+ 0,
+ NIL,
+ "Check reference data structure after restore to configurable default of User2 Seat1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_User2Seat1,
+ sizeof(expected_key_data_after_restore_default_User2Seat1)/sizeof(expected_key_data_after_restore_default_User2Seat1[0]),
+ expected_file_data_after_restore_default_User2Seat1,
+ sizeof(expected_file_data_after_restore_default_User2Seat1)/sizeof(expected_file_data_after_restore_default_User2Seat1[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Configurable_Default_User2App1 =
+{
+ Test_Restore_Configurable_Default_User2App1,
+ 0,
+ NIL,
+ "Check reference data structure after restore to configurable default of User2 App1",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_User2App1,
+ sizeof(expected_key_data_after_restore_default_User2App1)/sizeof(expected_key_data_after_restore_default_User2App1[0]),
+ expected_file_data_after_restore_default_User2App1,
+ sizeof(expected_file_data_after_restore_default_User2App1)/sizeof(expected_file_data_after_restore_default_User2App1[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Factory_Default_All =
+{
+ Test_Restore_Factory_Default_All,
+ 0,
+ NIL,
+ "Check reference data structure after restore to factory default All content",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_All,
+ sizeof(expected_key_data_after_restore_default_All)/sizeof(expected_key_data_after_restore_default_All[0]),
+ expected_file_data_after_restore_default_All,
+ sizeof(expected_file_data_after_restore_default_All)/sizeof(expected_file_data_after_restore_default_All[0]),
+ false
+};
+
+testcase_s tc_test_Restore_Configurable_Default_All =
+{
+ Test_Restore_Configurable_Default_All,
+ 0,
+ NIL,
+ "Check reference data structure after restore to configurable default All content",
+ NIL,
+ 0,
+ expected_key_data_after_restore_default_All,
+ sizeof(expected_key_data_after_restore_default_All)/sizeof(expected_key_data_after_restore_default_All[0]),
+ expected_file_data_after_restore_default_All,
+ sizeof(expected_file_data_after_restore_default_All)/sizeof(expected_file_data_after_restore_default_All[0]),
+ false
+};
+
+
+testcase_s tc_testImportApp =
+{
+ Test_import_all_app,
+ 0,
+ NIL,
+ "Import all _ app",
+ NIL,
+ 0,
+ expected_key_data_after_import_app_all,
+ sizeof(expected_key_data_after_import_app_all)/sizeof(expected_key_data_after_import_app_all[0]),
+ expected_file_data_after_import_app_all,
+ sizeof(expected_file_data_after_import_app_all)/sizeof(expected_file_data_after_import_app_all[0]),
+ false
+};
+
+testcase_s tc_testImportAll =
+{
+ Test_import_all_all,
+ 0,
+ NIL,
+ "Import all _ all",
+ NIL,
+ 0,
+ expected_key_data_after_import_all_all,
+ sizeof(expected_key_data_after_import_all_all)/sizeof(expected_key_data_after_import_all_all[0]),
+ expected_file_data_after_import_all_all,
+ sizeof(expected_file_data_after_import_all_all)/sizeof(expected_file_data_after_import_all_all[0]),
+ false
+};
+
+testcase_s tc_testImportUser =
+{
+ Test_import_all_user,
+ 0,
+ NIL,
+ "Import all _ user",
+ NIL,
+ 0,
+ expected_key_data_after_import_all_user,
+ sizeof(expected_key_data_after_import_all_user)/sizeof(expected_key_data_after_import_all_user[0]),
+ expected_file_data_after_import_all_user,
+ sizeof(expected_file_data_after_import_all_user)/sizeof(expected_file_data_after_import_all_user[0]),
+ false
+};
+
+
+
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+
+testcase_s* testCases[] =
+{
+ /* add here test cases */
+
+ /* ResourceConfigAdd */
+ /* don't change the order - start */
+ &tc_testResourceConfigAdd_public
+ ,&tc_testResourceConfigAdd_group_10
+ ,&tc_testResourceConfigAdd_group_20
+ ,&tc_testResourceConfigAdd_group_30
+ ,&tc_testResourceConfigAdd_App30
+ ,&tc_testResourceConfigAdd_public_phase_2
+ /* don't change the order - end */
+
+
+ /* Delete */
+ ,&tc_testDataAfterDeleteUser2Data
+
+ /* Backup */
+ ,&tc_testDataAfterBackupCreateAll
+ ,&tc_testDataAfterBackupCreateApplication
+ ,&tc_testDataAfterBackupCreateUserAll
+ ,&tc_testDataAfterBackupCreateUser2SeatAll
+
+ /* Recovery */
+ ,&tc_test_Recover_App1
+ ,&tc_test_Recover_User1
+ ,&tc_test_Recover_All
+ ,&tc_test_Recover_Users
+ ,&tc_test_Recover_All_InitialContent
+ ,&tc_test_Recover_App1_InitialContent_From_All
+ ,&tc_test_Recover_App1_InitialContent_From_App1
+ ,&tc_test_Recover_User1_InitialContent_From_All
+ ,&tc_test_Recover_User1_InitialContent_From_User1
+ ,&tc_test_Recover_User2_Seat1_InitialContent_From_All
+ ,&tc_test_Recover_User2_Seat1_InitialContent_From_User2_Seat1
+
+ /* Restore default */
+ ,&tc_test_Restore_Factory_Default_App1
+ ,&tc_test_Restore_Configurable_Default_App1
+ ,&tc_test_Restore_Configurable_Default_User1
+ ,&tc_test_Restore_Factory_Default_All
+ ,&tc_test_Restore_Configurable_Default_All
+ ,&tc_test_Restore_Configurable_Default_User2Seat1
+ ,&tc_test_Restore_Configurable_Default_User2App1
+
+ /* Import */
+ ,&tc_testImportApp
+ ,&tc_testImportAll
+ ,&tc_testImportUser
+} ;
+
+
+
+/**********************************************************************************************************************************************
+ *********************************************************************************************************************************************/
+
+
+
+typedef struct
+{
+ void* dbHandle ;
+ pstr_t dbPath ;
+ dbType_e dbType ;
+}db_handle_s;
+
+
+
+static bool_t ResetReferenceData(void) ;
+static bool_t CreateFileWithData(pstr_t filePath, pstr_t data, sint_t dataSize) ;
+static bool_t ExecuteTestCase(testcase_s* psTestCase) ;
+
+static sint_t persadmin_serialize_data(PersistenceConfigurationKey_s pc, char* buffer) ;
+
+static bool_t CreateFileWithData(pstr_t filePath, pstr_t data, sint_t dataSize)
+{
+ bool_t bEverythingOK = true ;
+ str_t folderPath[256] ;
+
+ if((NIL == filePath) || (NIL == data) || (dataSize < 0))
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ sint_t result = persadmin_get_folder_path(filePath, folderPath, sizeof(folderPath)) ;
+ if(result >= 0)
+ {
+ result = persadmin_create_folder(folderPath) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ FILE *pFile = fopen(filePath, "wb") ;
+ if(NIL != pFile)
+ {
+ if(dataSize != fwrite (data , 1 , dataSize , pFile ))
+ {
+ bEverythingOK = false ;
+ }
+ fclose (pFile);
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+bool_t InitDataFolder(dataInit_s* psDataInit)
+{
+ bool_t bEverythingOK = true ;
+ sint_t i = 0 ;
+
+ if(0 > persadmin_create_folder(psDataInit->installFolderPath))
+ {
+ bEverythingOK = false ;
+ }
+ #if 0
+ else
+ {
+ str_t buffer[1] ;
+ if(! CreateFileWithData(psDataInit->RCT_pathname, buffer, 0))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ #endif
+
+ if(bEverythingOK)
+ {
+ if( (NIL != psDataInit->RctInitTab)
+ && (NIL != psDataInit->RCT_pathname)
+ && (psDataInit->RctDBtype)
+ )
+ {
+ sint_t rctHandler = persComRctOpen(psDataInit->RCT_pathname, true) ;
+ if(rctHandler >= 0)
+ {
+ for(i = 0 ; i < psDataInit->noEntriesRctInitTab ; i++)
+ {
+ str_t buffer[64] ;
+ persadmin_serialize_data(psDataInit->RctInitTab[i].sRctEntry, buffer) ;
+ psDataInit->RctInitTab[i].sRctEntry.type =
+ psDataInit->RctInitTab[i].bIsKey ? PersistenceResourceType_key : PersistenceResourceType_file ;
+
+ if(0 > persComRctWrite(rctHandler, psDataInit->RctInitTab[i].resourceID, &psDataInit->RctInitTab[i].sRctEntry))
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "persComRctWrite(<%s> <%s> <%s>) FAILED", psDataInit->RCT_pathname, psDataInit->RctInitTab[i].resourceID, buffer) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ break ;
+ }
+ else
+ {
+ sprintf(g_msg, "persComRctWrite(<%s> <%s> <%s> type=%d) done",
+ psDataInit->RCT_pathname, psDataInit->RctInitTab[i].resourceID, buffer, psDataInit->RctInitTab[i].sRctEntry.type) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ persComRctClose(rctHandler) ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "persComRctOpen(<<%s>>, true) FAILED", psDataInit->RCT_pathname) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ if(NIL != psDataInit->dataKeysInitTab)
+ {
+ sint_t wcDbHandler = persComDbOpen(psDataInit->wcDBpathname, true) ;
+ sint_t wtDbHandler = persComDbOpen(psDataInit->wtDBpathname, true) ;
+ sprintf(g_msg, "InitDataFolder: wcDbHandler=<%d> wtDbHandler=<%d>", wcDbHandler, wtDbHandler) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ for(i = 0 ; i < psDataInit->noEntriesDataKeysInitTab; i++)
+ {
+ pstr_t dbPath = ( PersistencePolicy_wc == psDataInit->dataKeysInitTab[i].policy) ? psDataInit->wcDBpathname : psDataInit->wtDBpathname ;
+ sint_t dbHandler = ( PersistencePolicy_wc == psDataInit->dataKeysInitTab[i].policy) ? wcDbHandler : wtDbHandler ;
+ if((dbHandler >= 0) && (psDataInit->dataKeysInitTab[i].data))
+ {
+
+ if(0 > persComDbWriteKey(dbHandler, psDataInit->dataKeysInitTab[i].resourceID, psDataInit->dataKeysInitTab[i].data, (strlen(psDataInit->dataKeysInitTab[i].data)+1)))
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) FAILED", dbPath, psDataInit->dataKeysInitTab[i].resourceID, (strlen(psDataInit->dataKeysInitTab[i].data)+1)) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ break ;
+ }
+ else
+ {
+ sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) done", dbPath, psDataInit->dataKeysInitTab[i].resourceID, (strlen(psDataInit->dataKeysInitTab[i].data)+1)) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ }
+ persComDbClose(wcDbHandler) ;
+ persComDbClose(wtDbHandler) ;
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ if(NIL != psDataInit->dataFilesInitTab)
+ {
+ for(i = 0 ; i < psDataInit->noEntriesDataFilesInitTab; i++)
+ {
+ sprintf(g_msg, "CreateFileWithData(%s)...", psDataInit->dataFilesInitTab[i].resourceID) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(!CreateFileWithData(psDataInit->dataFilesInitTab[i].resourceID, psDataInit->dataFilesInitTab[i].data, (strlen(psDataInit->dataFilesInitTab[i].data)+1)))
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "CreateFileWithData(%s) FAILED", psDataInit->dataFilesInitTab[i].resourceID) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ break ;
+ }
+ }
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ typedef struct
+ {
+ pstr_t dbPathname ;
+ defaultDataInit_s* psDefaultData ;
+ sint_t iNoOfEntries ;
+ }defaultDataInfo_s ;
+
+ defaultDataInfo_s sDefaultDataTab[] =
+ {
+ {psDataInit->factoryDefaultDBpathname, psDataInit->factoryDefaultInitTab, psDataInit->noEntriesFactoryDefaultInitTab},
+ {psDataInit->configurableDefaultDBpathname, psDataInit->configurableDefaultInitTab, psDataInit->noEntriesConfigurableDefaultInitTab}
+ };
+
+ for(i = 0 ; i < sizeof(sDefaultDataTab)/sizeof(sDefaultDataTab[0]) ; i++)
+ {
+ if( (NIL != sDefaultDataTab[i].dbPathname) && (NIL != sDefaultDataTab[i].psDefaultData))
+ {
+ sint_t hDefaultDB = persComDbOpen(sDefaultDataTab[i].dbPathname, true) ;
+ if(hDefaultDB >= 0)
+ {
+ sint_t j = 0 ;
+ for(j = 0 ; j < sDefaultDataTab[i].iNoOfEntries ; j++)
+ {
+ if(0 > persComDbWriteKey(hDefaultDB, sDefaultDataTab[i].psDefaultData[j].pResourceID,
+ sDefaultDataTab[i].psDefaultData[j].data, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1)))
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) FAILED",
+ sDefaultDataTab[i].dbPathname, sDefaultDataTab[i].psDefaultData[j].pResourceID, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1)) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ break ;
+ }
+ else
+ {
+ sprintf(g_msg, "persComDbWriteKey(<%s> <%s> %d) done",
+ sDefaultDataTab[i].dbPathname, sDefaultDataTab[i].psDefaultData[j].pResourceID, (strlen(sDefaultDataTab[i].psDefaultData[j].data)+1)) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+
+ persComDbClose(hDefaultDB) ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "InitDataFolder: persComDbOpen(%s) failed", sDefaultDataTab[i].dbPathname) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ }
+
+ }
+
+
+ return bEverythingOK ;
+}
+
+sint_t DeleteFolderContent(pstr_t folderPath)
+{
+ bool_t bEverythingOK = true ;
+ sint_t bytesDeleted = 0 ;
+ pstr_t listingBuffer = NIL ;
+
+ sint_t neededBufferSize = persadmin_list_folder_get_size(folderPath, PersadminFilterAll, false) ;
+ if(neededBufferSize > 0)
+ {
+ listingBuffer = (pstr_t)malloc(neededBufferSize) ;
+ if(NIL != listingBuffer)
+ {
+ if(neededBufferSize != persadmin_list_folder(folderPath, listingBuffer, neededBufferSize, PersadminFilterAll, false))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ str_t completePath[256] ;
+ sint_t posInBuffer = 0 ;
+ sint_t posRelativePath ;
+ strcpy(completePath, folderPath) ;
+ posRelativePath = strlen(completePath) ;
+ if('/' != completePath[posRelativePath-1])
+ {
+ strcat(completePath, "/") ;
+ posRelativePath = strlen(completePath) ;
+ }
+ while(posInBuffer < neededBufferSize)
+ {
+ sint_t len = strlen(listingBuffer + posInBuffer) ;
+ sint_t bytesDeletedLocal = -1 ;
+ strcpy(completePath + posRelativePath, listingBuffer + posInBuffer) ;
+ if(0 == persadmin_check_if_file_exists(completePath, true))
+ {
+ bytesDeletedLocal = persadmin_delete_folder(completePath) ;
+ }
+ else
+ {
+ if(0 == persadmin_check_if_file_exists(completePath, false))
+ {
+ bytesDeletedLocal = persadmin_delete_file(completePath) ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ }
+ if(bytesDeletedLocal >= 0)
+ {
+ bytesDeleted += bytesDeletedLocal ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ posInBuffer += (len + 1) ;
+ }
+ }
+
+ if(NIL != listingBuffer)
+ {
+ free(listingBuffer) ;
+ }
+
+ return bEverythingOK ? bytesDeleted : (-1) ;
+}
+
+
+sint_t DeleteFolder(pstr_t folderPath)
+{
+ sint_t bytesDeleted;
+
+ bytesDeleted = DeleteFolderContent(folderPath);
+ if(bytesDeleted < 0)
+ {
+ sprintf(g_msg, "DeleteFolderContent(%s) returned %d", folderPath, bytesDeleted);
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ return bytesDeleted;
+ }
+
+ if(0 == remove(folderPath))
+ {
+ (void)snprintf(g_msg, sizeof(g_msg), "deleted >>%s<<", folderPath) ;
+ }
+ else
+ {
+ (void)snprintf(g_msg, sizeof(g_msg), "DeleteFolder: remove(%s) errno=<%s>", folderPath, strerror(errno));
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ return bytesDeleted;
+}
+
+sint_t CheckIfFileExists(pstr_t pathname, bool_t bIsFolder)
+{
+ bool_t bEverythingOK = true ;
+ if(NIL == pathname)
+ {
+ bEverythingOK = false ;
+ (void)snprintf(g_msg, sizeof(g_msg), "persadmin_check_if_file_exist: NIL pathname") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_DEBUG, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ if('/' != pathname[0])
+ {
+ bEverythingOK = false ;
+ (void)snprintf(g_msg, sizeof(g_msg), "persadmin_check_if_file_exist: not an absolute path(%s)", pathname) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_DEBUG, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ struct stat sb;
+
+ if (0 == lstat(pathname, &sb))
+ {
+ /* pathname exist*/
+ if(bIsFolder)
+ {
+ /* check if it is a foler */
+ if( ! S_ISDIR(sb.st_mode))
+ {
+ /* not a folder */
+ bEverythingOK = false ;
+ }
+ }
+ else
+ {
+ /* check if it is a file */
+ if(S_ISDIR(sb.st_mode))
+ {
+ /* it is a folder */
+ bEverythingOK = false ;
+ }
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ }
+
+ return bEverythingOK ? 0 : PAS_FAILURE ;
+}
+
+static bool_t ResetReferenceData(void)
+{
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_WT_PATH_ ;
+
+ sint_t result = DeleteFolderContent(referenceDataPath) ;
+ sprintf(g_msg, "DeleteFolderContent(%s) returned %d", referenceDataPath, result) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubDataInit,
+ &sShared_Group10_DataInit,
+ &sShared_Group20_DataInit,
+ &s_App1_DataInit,
+ &s_App2_DataInit
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+
+static bool_t CheckExpectedDataKeyLocalDB(expected_key_data_localDB_s* pExpectedData)
+{
+ bool_t bEverythingOK = true ;
+
+ str_t dataBuffer[256] ;
+ sint_t readSize = sizeof(dataBuffer) ;
+
+ sint_t dbHandler = persComDbOpen(pExpectedData->dbPath, false) ;
+ if(dbHandler >= 0)
+ {
+ readSize = persComDbReadKey(dbHandler, pExpectedData->key, dataBuffer, sizeof(dataBuffer)) ;
+ persComDbClose(dbHandler) ;
+
+ if(readSize >= 0)
+ {
+ sprintf(g_msg, "Found <%s> in %s :: size = %d data=<%s>",
+ pExpectedData->key, pExpectedData->dbPath, readSize, dataBuffer) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(pExpectedData->bExpectedToExist)
+ {
+ if(readSize == pExpectedData->expectedDataSize)
+ {
+ if(0 == memcmp(dataBuffer, pExpectedData->expectedData, pExpectedData->expectedDataSize))
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected to not find key") ;
+ }
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ sprintf(g_msg, "Failed to find <%s> in %s",
+ pExpectedData->key, pExpectedData->dbPath) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if( ! pExpectedData->bExpectedToExist)
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ }
+ }
+ else
+ {
+ sprintf(g_msg, "persComDbOpen(%s) returned <%d>", pExpectedData->dbPath, dbHandler) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ bEverythingOK = false ;
+ }
+
+
+ return bEverythingOK ;
+}
+
+/* copied here from PCL */
+static sint_t persadmin_serialize_data(PersistenceConfigurationKey_s pc, char* buffer)
+{
+ sint_t rval = 0;
+ rval = snprintf(buffer, 128, "%d %d %d %s",
+ pc.policy, pc.storage, pc.max_size,
+ pc.reponsible);
+
+ //printf("persadmin_serialize_data: %s \n", buffer);
+ return rval;
+}
+
+
+static bool_t CheckExpectedDataKeyRCT(expected_key_data_RCT_s* pExpectedData)
+{
+ bool_t bEverythingOK = true ;
+ PersistenceConfigurationKey_s sFoundConfig ;
+ str_t serializedFound[256] ;
+ str_t serializedExpected[256] ;
+
+ sint_t rctHandler = persComRctOpen(pExpectedData->dbPath, false);
+ if(rctHandler >= 0)
+ {
+ if(sizeof(PersistenceConfigurationKey_s) == persComRctRead(rctHandler, pExpectedData->key, &sFoundConfig))
+ {
+ persadmin_serialize_data(sFoundConfig, serializedFound) ;
+ persadmin_serialize_data(pExpectedData->sExpectedConfig, serializedExpected) ;
+ sprintf(g_msg, "Found <%s> in %s :: config=<%s>",
+ pExpectedData->key, pExpectedData->dbPath, serializedFound) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(pExpectedData->bExpectedToExist)
+ {
+ if(0 == strcmp(serializedFound, serializedExpected))
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected config=<%s>", serializedExpected) ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected to not find key") ;
+ }
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ sprintf(g_msg, "Failed to find <%s> in %s",
+ pExpectedData->key, pExpectedData->dbPath) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if( ! pExpectedData->bExpectedToExist)
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected config=<%s>", serializedExpected) ;
+ }
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ persComRctClose(rctHandler) ;
+ }
+
+ return bEverythingOK ;
+}
+
+static bool_t GetFileContent(pstr_t absPath, pstr_t dataBuffer_out, sint_t* pSize_inout)
+{
+ bool_t bEverythingOK = true ;
+
+ FILE* pFile = fopen(absPath, "rb") ;
+
+ if(NIL != pFile)
+ {
+ sint_t readSize = fread(dataBuffer_out, 1, *pSize_inout, pFile);
+ if( (readSize >= 0) && (readSize < *pSize_inout))
+ {
+ *pSize_inout = readSize ;
+ }
+ else
+ {
+ if(readSize >= *pSize_inout)
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "GetFileContent(%s) buffer too small (%d)", absPath, *pSize_inout) ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ }
+ }
+
+ fclose(pFile) ;
+ }
+
+ return bEverythingOK ;
+}
+
+static bool_t CheckExpectedDataFile(expected_file_data_s* pExpectedData)
+{
+ bool_t bEverythingOK = true ;
+
+ str_t dataBuffer[256] ;
+ sint_t size = sizeof(dataBuffer) ;
+
+ if(0 <= persadmin_check_if_file_exists(pExpectedData->filename, false))
+ {
+ /* file found */
+ memset(dataBuffer, 0x0, sizeof(dataBuffer)) ;
+ if(GetFileContent(pExpectedData->filename, dataBuffer, &size))
+ {
+ sprintf(g_msg, "Found <%s> :: size = %d data=<%s>",
+ pExpectedData->filename, size, dataBuffer) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(pExpectedData->bExpectedToExist)
+ {
+ if(size == pExpectedData->expectedDataSize)
+ {
+ if(0 == memcmp(dataBuffer, pExpectedData->expectedData, pExpectedData->expectedDataSize))
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected to not find file") ;
+ }
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "GetFileContent(%s) failed", pExpectedData->filename) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ else
+ {
+ sprintf(g_msg, "Failed to find <%s>", pExpectedData->filename) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if( ! pExpectedData->bExpectedToExist)
+ {
+ sprintf(g_msg, "\t\t...as expected") ;
+ }
+ else
+ {
+ bEverythingOK = false ;
+ sprintf(g_msg, "\t\t...FAILURE - expected size = %d data=<%s>", pExpectedData->expectedDataSize, pExpectedData->expectedData) ;
+ }
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ return bEverythingOK ;
+}
+
+
+static bool_t ExecuteTestCase(testcase_s* psTestCase)
+{
+ bool_t bTestResult = true ;
+ sprintf(g_msg, "ExecuteTestCase: %s", psTestCase->testCaseDescription) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+
+ if( ! psTestCase->bSkipDataReset)
+ {
+ sprintf(g_msg, "First init reference data...") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(ResetReferenceData())
+ {
+ sprintf(g_msg, "ResetReferenceData - Done") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ bTestResult = false ;
+ sprintf(g_msg, "ResetReferenceData - Failed") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ else
+ {
+ sprintf(g_msg, "Skip ResetReferenceData") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+
+ if(bTestResult)
+ {
+ if(NIL != psTestCase->TestCaseFunction)
+ {
+ sprintf(g_msg, "Call test case function...") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ bTestResult = psTestCase->TestCaseFunction(psTestCase->iParam, psTestCase->pvoidParam) ;
+ sprintf(g_msg, "Test case function returned with %s", bTestResult ? "SUCCESS" : "FAILURE") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ sprintf(g_msg, "Skip calling test case function...") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+
+ if(bTestResult)
+ {
+ sint_t i = 0 ;
+ sint_t noOfFailedTests = 0 ;
+ sint_t noOfSuccessfulTests = 0 ;
+
+ sprintf(g_msg, "+++++++++++++++++++++ Check data key RCT START ... +++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ for(i = 0 ; i < psTestCase->noItemsInExpectedKeyDataRCT; i++)
+ {
+ if( ! CheckExpectedDataKeyRCT(&psTestCase->pExpectedKeyDataRCT[i]))
+ {
+ noOfFailedTests++ ;
+ bTestResult = false ;
+ }
+ else
+ {
+ noOfSuccessfulTests++ ;
+ }
+ }
+ sprintf(g_msg, "++++++++ Check data key RCT SUMMARY: tests ; %d executed %d success %d failed +++++++++++++",
+ noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+
+ noOfFailedTests = 0 ;
+ noOfSuccessfulTests = 0 ;
+ sprintf(g_msg, "+++++++++++++++++++++ Check data key localDB START ... +++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ for(i = 0 ; i < psTestCase->noItemsInExpectedKeyDataLocalDB ; i++)
+ {
+ if( ! CheckExpectedDataKeyLocalDB(&psTestCase->pExpectedKeyDataLocalDB[i]))
+ {
+ noOfFailedTests++ ;
+ bTestResult = false ;
+ }
+ else
+ {
+ noOfSuccessfulTests++ ;
+ }
+ }
+ sprintf(g_msg, "++++++++ Check data key localDB SUMMARY: tests ; %d executed %d success %d failed +++++++++++++",
+ noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+
+ noOfFailedTests = 0 ;
+ noOfSuccessfulTests = 0 ;
+ sprintf(g_msg, "+++++++++++++++++++++ Check data file START ... +++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ for(i = 0 ; i < psTestCase->noItemsInExpectedFileData; i++)
+ {
+ if( ! CheckExpectedDataFile(&psTestCase->pExpectedFileData[i]))
+ {
+ noOfFailedTests++ ;
+ bTestResult = false ;
+ }
+ else
+ {
+ noOfSuccessfulTests++ ;
+ }
+ }
+ sprintf(g_msg, "++++++++ Check data file SUMMARY: tests ; %d executed %d success %d failed +++++++++++++",
+ noOfFailedTests + noOfSuccessfulTests, noOfSuccessfulTests, noOfFailedTests) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ return bTestResult ;
+}
+
+
+bool_t ExecuteTestCases(sint_t *pNoOfTestCases,
+ sint_t *pNoOfTestCasesSuccessful,
+ sint_t *pNoOfTestCasesFailed )
+{
+ bool_t bTestsResult = true ;
+ sint_t noOfTestCasesSuccessful = 0 ;
+ sint_t noOfTestCasesFailed = 0 ;
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(testCases)/sizeof(testCases[0]) ; i++)
+ {
+ bool_t bCurrentTestcaseResult = true ;
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++++++++++++++++++ Test Case No %d Started... +++++++++++++++++++++++++++++++++++++++", i) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(ExecuteTestCase(testCases[i]))
+ {
+ noOfTestCasesSuccessful++ ;
+ }
+ else
+ {
+ bCurrentTestcaseResult = false ;
+ noOfTestCasesFailed++ ;
+ bTestsResult = false ;
+ }
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++++++++++++++++++ Test Case No %d Completed %s +++++++++++++++++++++++++++++++++++++++", i, bCurrentTestcaseResult ? "OK" : "with EROORS") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++ SUMMARY: Test cases <%d executed> <%d ok> <%d failed> ++++++++++++++++++++++++++++", noOfTestCasesSuccessful+noOfTestCasesFailed, noOfTestCasesSuccessful, noOfTestCasesFailed) ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ sprintf(g_msg, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(NULL != pNoOfTestCases)
+ {
+ *pNoOfTestCases = sizeof(testCases)/sizeof(testCases[0]);
+ }
+
+ if(NULL != pNoOfTestCasesSuccessful)
+ {
+ *pNoOfTestCasesSuccessful = noOfTestCasesSuccessful;
+ }
+
+ if(NULL != pNoOfTestCasesFailed)
+ {
+ *pNoOfTestCasesFailed = noOfTestCasesFailed;
+ }
+
+ return bTestsResult ;
+}
+
+
+
+
+
+// ===============================
+
+
+
+// ===============================
+
+
+int main(void)
+{
+ char context[16] ;
+ char contextID[16] ;
+ char appID[16] ;
+ pid_t pid = getpid() ;
+
+ sprintf(context, "ID_%d", pid) ;
+ sprintf(contextID, "CONTEXT_%d", pid) ;
+ sprintf(appID, "APP_%d", pid) ;
+ DLT_REGISTER_APP(appID,"PAS");
+ //DLT_REGISTER_CONTEXT(testPersAdminDLTCtx,"TestPAS", contextID);
+ DLT_REGISTER_CONTEXT(persAdminSvcDLTCtx,"TestPAS", contextID);
+
+
+ //sprintf(g_msg, "\n\n++++++++++ Test PAS - START +++++++++++++++++\n\n") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("++++++++++ Test PAS - START +++++++++++++++++"));
+
+ ExecuteTestCases(NULL, NULL, NULL) ;
+
+ //sprintf(g_msg, "\n\n++++++++++ Test PAS - FINISH ++++++++++++++++\n\n") ;
+ DLT_LOG(testPersAdminDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("++++++++++ Test PAS - FINISH ++++++++++++++++"));
+ /* Init and run the main DBus loop */
+ persadmin_RunDBusMainLoop();
+
+ return 1 ;
+}
diff --git a/test/pers_svc_test/src/test_PAS_dbus.c b/test/pers_svc_test/src/test_PAS_dbus.c
new file mode 100644
index 0000000..550ca76
--- /dev/null
+++ b/test/pers_svc_test/src/test_PAS_dbus.c
@@ -0,0 +1,233 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "stdio.h"
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+#include <pthread.h>
+
+#include "test_PAS.h"
+#include "PasModuleTestGen.h"
+
+
+
+/**********************************************************************************************************************
+*
+* Global variables. Initialization of global contexts.
+*
+**********************************************************************************************************************/
+static GMainLoop *g_pMainLoop = NULL;
+static GDBusConnection *g_pBusConnection = NULL;
+static OipPersistenceAdmintestframeworkSkeleton *g_pTFSkeleton = NULL;
+static volatile bool_t g_bDBusConnInit = false;
+
+static pthread_mutex_t testOpMtx; // run test cases - operation mutex
+
+
+
+/**********************************************************************************************************************
+*
+* Prototypes for local functions (see implementation for description)
+*
+**********************************************************************************************************************/
+
+static void OnBusAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData);
+static void OnNameAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData);
+static void OnNameLost_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData);
+
+/* ExecuteTestCases */
+static gboolean OnHandleExecuteTestCases ( OipPersistenceAdmintestframework *object,
+ GDBusMethodInvocation *invocation);
+
+
+
+/**********************************************************************************************************************
+*
+* The function is called when a connection to the D-Bus could be established.
+* According to the documentation the objects should be exported here.
+*
+* @param pConnection: Connection, which was acquired
+* @param sName: Bus name
+* @param pUserData: Optionally user data
+*
+* @return void
+*
+**********************************************************************************************************************/
+static void OnBusAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData)
+{
+ GError *pError = NULL;
+
+ /* Store the connection. */
+ g_pBusConnection = pConnection;
+
+ /* Create real object to offer on the DBus */
+ g_pTFSkeleton = (OipPersistenceAdmintestframeworkSkeleton*) oip_persistence_admintestframework_skeleton_new();
+
+ g_signal_connect(g_pTFSkeleton, "handle-execute-test-cases", G_CALLBACK(OnHandleExecuteTestCases), pUserData);
+
+ /* Attach interfaces to the objects and export them */
+ if(TRUE == g_dbus_interface_skeleton_export( G_DBUS_INTERFACE_SKELETON(g_pTFSkeleton),
+ g_pBusConnection,
+ PERSISTENCE_ADMIN_TF_OBJ_PATH,
+ &pError))
+ {
+ printf("Successfully connected to D-Bus and exported object.\n");
+ }
+ else
+ {
+ /* Error: the PersistenceAdminService TF interface could not be exported. */
+ printf("Failed to export PersistenceAdminService TF object.\n");
+ g_main_loop_quit(g_pMainLoop);
+ }
+ fflush(stdout);
+}
+
+
+
+/**********************************************************************************************************************
+*
+* The function is called when the "bus name" could be acquired on the D-Bus.
+*
+* @param pConnection: Connection over which the bus name was acquired
+* @param sName: Acquired bus name
+* @param pUserData: Optionally user data
+*
+* @return void
+*
+**********************************************************************************************************************/
+static void OnNameAcquired_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData)
+{
+ printf("Successfully obtained D-Bus name: %s\n", sName);
+
+ /* DBus connection initialized */
+ g_bDBusConnInit = true;
+
+ fflush(stdout);
+}
+
+
+
+/**********************************************************************************************************************
+*
+* The function is called if either no connection to D-Bus could be established or
+* the bus name could not be acquired.
+*
+* @param pConnection: Connection. If it is NULL, no D-Bus connection could be established.
+* Otherwise the bus name was lost.
+* @param sName: Bus name
+* @param pUserData: Optionally user data
+*
+* @return void
+*
+**********************************************************************************************************************/
+static void OnNameLost_cb(GDBusConnection *pConnection, const gchar* sName, gpointer pUserData)
+{
+ if(pConnection == NULL)
+ {
+ /* Error: the connection could not be established. */
+ printf("Failed to establish D-Bus connection.");
+ }
+ else
+ {
+ /* Error: connection established, but name not obtained. This might be a second instance of the application */
+ printf("Failed to obtain bus name %s\n", sName);
+ }
+ fflush(stdout);
+
+ /* In both cases leave the main loop. */
+ g_main_loop_quit(g_pMainLoop);
+}
+
+
+
+/**********************************************************************************************************************
+*
+* Handler for ExecuteTestCases.
+* Signature based on generated code.
+*
+**********************************************************************************************************************/
+static gboolean OnHandleExecuteTestCases ( OipPersistenceAdmintestframework *object,
+ GDBusMethodInvocation *invocation)
+{
+ sint_t noOfTestCases = 0;
+ sint_t noOfTestCasesSuccessful = 0;
+ sint_t noOfTestCasesFailed = 0;
+
+ // Acquire op mutex
+ pthread_mutex_lock (&testOpMtx);
+
+ ExecuteTestCases( &noOfTestCases,
+ &noOfTestCasesSuccessful,
+ &noOfTestCasesFailed );
+
+ // Release list mutex
+ pthread_mutex_unlock (&testOpMtx);
+
+ oip_persistence_admintestframework_complete_execute_test_cases( object,
+ invocation,
+ noOfTestCases,
+ noOfTestCasesSuccessful,
+ noOfTestCasesFailed);
+
+ return(TRUE);
+}
+
+
+/**********************************************************************************************************************
+*
+* Initialize DBus registration mechanism
+*
+**********************************************************************************************************************/
+void persadmin_RunDBusMainLoop()
+{
+ uint u32ConnectionId = 0;
+
+ /* Initialize glib */
+ g_type_init();
+
+ /* Init synchronization objects */
+ pthread_mutex_init (&testOpMtx, NULL);
+
+ /* Create the main loop */
+ g_pMainLoop = g_main_loop_new(NULL, FALSE);
+
+
+ /* Connect to the D-Bus. Obtain a bus name to offer PAS objects */
+ u32ConnectionId = g_bus_own_name( PERSISTENCE_ADMIN_TF_BUS_TYPE
+ , PERSISTENCE_ADMIN_TF_BUS_NAME
+ , G_BUS_NAME_OWNER_FLAGS_NONE
+ , &OnBusAcquired_cb
+ , &OnNameAcquired_cb
+ , &OnNameLost_cb
+ , NULL
+ , NULL);
+
+ /* The main loop is only canceled if the Node is completely shut down or the D-Bus connection fails */
+ g_main_loop_run(g_pMainLoop);
+
+ /* If the main loop returned, clean up. Release bus name and main loop */
+ g_bus_unown_name(u32ConnectionId);
+ g_main_loop_unref(g_pMainLoop);
+
+
+ /* Release the (created) skeleton object */
+ if(NULL != g_pTFSkeleton)
+ {
+ g_object_unref(g_pTFSkeleton);
+ }
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c
new file mode 100644
index 0000000..783dd1d
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_application.c
@@ -0,0 +1,100 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "string.h"
+#include "stdio.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "test_PAS.h"
+#include "ssw_pers_admin_files_helper.h"
+#include "test_pas_check_data_after_backup_application.h"
+#include "persistence_admin_service.h"
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupApplication[16] =
+{
+/* App1 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterBackupApplication[10] =
+{
+/* App1 */
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )}
+} ;
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterBackupCreateApplication(int ceva, void* pAltceva)
+{
+ long sResult = 0;
+ PersASSelectionType_e eSelection = PersASSelectionType_LastEntry;
+ char pchBackupName [MAX_PATH_SIZE];
+ char pchApplicationID [MAX_APPLICATION_NAME_SIZE];
+ int iBackupNameSize = sizeof(pchBackupName);
+ int iApplicationNameSize = sizeof(pchApplicationID);
+
+ // reset;
+ memset(pchBackupName, 0, iBackupNameSize);
+ memset(pchApplicationID, 0, iApplicationNameSize);
+
+ // selection application : valid application, all users, all seats;
+
+ // create input data;
+ snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME);
+ snprintf(pchApplicationID, iApplicationNameSize, "%s", APPLICATION_NAME);
+ eSelection = PersASSelectionType_Application;
+
+ persadmin_delete_folder(BACKUP_NAME);
+ // persAdminDataBackupCreate(PersASSelectionType_Application, "/tmp/backup", "App1", 0xFF, 0xFF);
+ sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS);
+ // expected result : backup is created for the specified application, all users & seats (local);
+
+ // some info;
+ printf("\n Test_DataAfterBackupCreateApplication: persAdminDataBackupCreate(application) - %ld \n", sResult) ;
+
+ return true ;
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c
new file mode 100644
index 0000000..f5ee203
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_create_all.c
@@ -0,0 +1,195 @@
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "ssw_pers_admin_files_helper.h"
+#include "test_PAS.h"
+#include "test_pas_check_data_after_backup_create_all.h"
+#include "persistence_admin_service.h"
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupCreateAll[80] =
+{
+/* shared public */
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )},
+/* shared group 10 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )},
+/* shared group 20 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )},
+/* App1 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+/* App2*/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterBackupCreateAll[50] =
+{
+/* shared public */
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )},
+/* shared group 10 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+/* shared group 20 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt" , true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )},
+/* App1 */
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+/* App2*/
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" )}
+} ;
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterBackupCreateAll(int ceva, void* pAltceva)
+{
+ long sResult = 0;
+ PersASSelectionType_e eSelection = PersASSelectionType_LastEntry;
+ char pchBackupName [MAX_PATH_SIZE];
+ char pchApplicationID [MAX_APPLICATION_NAME_SIZE];
+ int iBackupNameSize = sizeof(pchBackupName);
+ int iApplicationNameSize = sizeof(pchApplicationID);
+
+ // reset;
+ memset(pchBackupName, 0, iBackupNameSize);
+ memset(pchApplicationID, 0, iApplicationNameSize);
+
+ // selection all : all applications, all users, all seats;
+
+ // create input data;
+ snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME);
+ snprintf(pchApplicationID, iApplicationNameSize, "%s", NO_APPLICATION);
+ eSelection = PersASSelectionType_All;
+
+ persadmin_delete_folder(BACKUP_NAME);
+ // persAdminDataBackupCreate(PersASSelectionType_All, "/tmp/backup", "", 0xFF, 0xFF);
+ sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS);
+ // expected result : backup is created for all applications, users & seats (local + shared);
+
+ // some info;
+ printf("\n Test_BackupCreateAll: persAdminDataBackupCreate(all) - %ld \n", sResult) ;
+
+ return true ;
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c
new file mode 100644
index 0000000..1ce28dc
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_user2_seat_all.c
@@ -0,0 +1,212 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "ssw_pers_admin_files_helper.h"
+#include "test_PAS.h"
+#include "test_pas_check_data_after_backup_user2_seat_all.h"
+#include "persistence_admin_service.h"
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUser2SeatAll[80] =
+{
+/* shared public */
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )},
+/* shared group 10 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC" , "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )},
+/* shared group 20 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )},
+/* App1 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+/* App2*/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterBackupUser2SeatAll[50] =
+{
+/* shared public */
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )},
+/* shared group 10 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+/* shared group 20 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )},
+/* App1 */
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+/* App2*/
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" )}
+} ;
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterBackupCreateUser2SeatAll(int ceva, void* pAltceva)
+{
+ long sResult = 0;
+ PersASSelectionType_e eSelection = PersASSelectionType_LastEntry;
+ char pchBackupName [MAX_PATH_SIZE];
+ char pchApplicationID [MAX_APPLICATION_NAME_SIZE];
+ int iBackupNameSize = sizeof(pchBackupName);
+ int iApplicationNameSize = sizeof(pchApplicationID);
+
+ // reset;
+ memset(pchBackupName, 0, iBackupNameSize);
+ memset(pchApplicationID, 0, iApplicationNameSize);
+
+ // selection user : valid application, 1 user, all seats;
+
+ // create input data;
+ snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME);
+ snprintf(pchApplicationID, iApplicationNameSize, "%s", APPLICATION_NAME);
+ eSelection = PersASSelectionType_User;
+
+ persadmin_delete_folder(BACKUP_NAME);
+ // persAdminDataBackupCreate(PersASSelectionType_User, "/tmp/backup", "", 0xFF, 0xFF);
+ sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, 0x2, PERSIST_SELECT_ALL_SEATS);
+ // check data;
+ // expected result : backup is created for all applications, the specified user & all seats (local + shared);
+
+ // some info;
+ printf("\n Test_DataAfterBackupCreateUser2SeatAll: persAdminDataBackupCreate(user 2seat all) - %ld \n", sResult) ;
+
+ return true ;
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c b/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c
new file mode 100644
index 0000000..7be666f
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_backup_user_all.c
@@ -0,0 +1,212 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "ssw_pers_admin_files_helper.h"
+#include "test_PAS.h"
+#include "test_pas_check_data_after_backup_user_all.h"
+#include "persistence_admin_service.h"
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterBackupUserAll[80] =
+{
+/* shared public */
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA" , sizeof("Data>>/pubSettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof("Data>>/pubSettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof("Data>>/pubSettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC" , "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC" , sizeof("Data>>/pubSettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1" , sizeof("Data>>/pubSetting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2" , sizeof("Data>>/pubSetting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3" , sizeof("Data>>/pubSetting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4" , sizeof("Data>>/pubSetting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD" , sizeof("Data>>/pubSettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof("Data>>/pubSettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof("Data>>/pubSettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF" , "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF" , sizeof("Data>>/pubSettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof("Data>>/pubSetting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof("Data>>/pubSetting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof("Data>>/pubSetting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", "/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof("Data>>/pubSetting/DEF::user4" )},
+/* shared group 10 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA" , sizeof("Data>>/gr10_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof("Data>>/gr10_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof("Data>>/gr10_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC" , sizeof("Data>>/gr10_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1" , sizeof("Data>>/gr10_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2" , sizeof("Data>>/gr10_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3" , sizeof("Data>>/gr10_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4" , sizeof("Data>>/gr10_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD" , sizeof("Data>>/gr10_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof("Data>>/gr10_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof("Data>>/gr10_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF" , sizeof("Data>>/gr10_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof("Data>>/gr10_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof("Data>>/gr10_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof("Data>>/gr10_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof("Data>>/gr10_Setting/DEF::user4" )},
+/* shared group 20 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA" , sizeof("Data>>/gr20_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof("Data>>/gr20_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof("Data>>/gr20_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC" , sizeof("Data>>/gr20_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1" , sizeof("Data>>/gr20_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2" , sizeof("Data>>/gr20_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3" , sizeof("Data>>/gr20_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4" , sizeof("Data>>/gr20_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD" , sizeof("Data>>/gr20_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof("Data>>/gr20_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof("Data>>/gr20_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF" , sizeof("Data>>/gr20_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof("Data>>/gr20_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof("Data>>/gr20_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof("Data>>/gr20_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", "/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof("Data>>/gr20_Setting/DEF::user4" )},
+/* App1 */
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC" , sizeof("Data>>/App1_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1" , sizeof("Data>>/App1_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2" , sizeof("Data>>/App1_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3" , sizeof("Data>>/App1_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4" , sizeof("Data>>/App1_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+/* App2*/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA" , sizeof( "Data>>/App2_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof( "Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof( "Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC" , sizeof( "Data>>/App2_SettingC" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1" , sizeof( "Data>>/App2_Setting/ABC::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2" , sizeof( "Data>>/App2_Setting/ABC::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3" , sizeof( "Data>>/App2_Setting/ABC::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4" , sizeof( "Data>>/App2_Setting/ABC::user4" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof( "Data>>/App2_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof( "Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof( "Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF" , sizeof( "Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof( "Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof( "Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof( "Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", "/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof( "Data>>/App2_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterBackupUserAll[50] =
+{
+/* shared public */
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>/doc1.txt" , sizeof("File>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_PUBLIC_WT_PATH PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4" )},
+/* shared group 10 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+/* shared group 20 */
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1" , sizeof("File>>gr20_>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2" , sizeof("File>>gr20_>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3" , sizeof("File>>gr20_>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4" , sizeof("File>>gr20_>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4" )},
+/* App1 */
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>App1>>/Docs/doc2.txt", sizeof("File>>App1>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1", sizeof("File>>App1>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3", sizeof("File>>App1>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1", sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2", sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3", sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4", sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+/* App2*/
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false,"File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false,"File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1", sizeof("File>>App2>>/docB.txt::user2:seat1" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2", sizeof("File>>App2>>/docB.txt::user2:seat2" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3", sizeof("File>>App2>>/docB.txt::user2:seat3" )},
+ {"/tmp/backup"PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4", sizeof("File>>App2>>/docB.txt::user2:seat4" )}
+} ;
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterBackupCreateUserAll(int ceva, void* pAltceva)
+{
+ long sResult = 0;
+ PersASSelectionType_e eSelection = PersASSelectionType_LastEntry;
+ char pchBackupName [MAX_PATH_SIZE];
+ char pchApplicationID [MAX_APPLICATION_NAME_SIZE];
+ int iBackupNameSize = sizeof(pchBackupName);
+ int iApplicationNameSize = sizeof(pchApplicationID);
+
+ // reset;
+ memset(pchBackupName, 0, iBackupNameSize);
+ memset(pchApplicationID, 0, iApplicationNameSize);
+
+ // selection user : no application, all users, all seats;
+
+ // create input data;
+ snprintf(pchBackupName, iBackupNameSize, "%s", BACKUP_NAME);
+ snprintf(pchApplicationID, iApplicationNameSize, "%s", NO_APPLICATION);
+ eSelection = PersASSelectionType_User;
+
+ persadmin_delete_folder(BACKUP_NAME);
+ // persAdminDataBackupCreate(PersASSelectionType_User, "/tmp/backup", "", 0xFF, 0xFF);
+ sResult = persAdminDataBackupCreate(eSelection, pchBackupName, pchApplicationID, PERSIST_SELECT_ALL_USERS, PERSIST_SELECT_ALL_SEATS);
+ // check data;
+ // expected result : backup is created for all applications, users & seats (local + shared);
+
+ // some info;
+ printf("\n Test_DataAfterBackupCreateUserAll: persAdminDataBackupCreate(user all) - %ld \n", sResult) ;
+
+ return true ;
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c b/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c
new file mode 100644
index 0000000..fb0ec03
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_delete_user2_data.c
@@ -0,0 +1,226 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+#include "persComTypes.h"
+#include "stdio.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "persistence_admin_service.h"
+
+#include "test_PAS.h"
+#include "test_pas_check_data_after_delete_user2_data.h"
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterDeleteUser2Data[80] =
+{
+ //public
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+ //GR10
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ //GR20
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ //App1
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user4")},
+
+ //App2
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App2_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterDeleteUser2Data[50] =
+{
+ //public
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")},
+
+ //group10
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ //group20
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt", sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt", sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+ //Appl1
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt", sizeof("File>>App1>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt", sizeof("File>>App1>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1", sizeof("File>>App1>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3", sizeof("File>>App1>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1", sizeof("File>>App1>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2", sizeof("File>>App1>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3", sizeof("File>>App1>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4", sizeof("File>>App1>>/docB.txt::user2:seat4")},
+
+ //Appl2
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt", sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt", sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1", sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2", sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3", sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4", sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1", sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2", sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3", sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4", sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterDeleteUser2Data(int ceva, void* pAltceva)
+{
+ bool_t bEverythingOK = true ;
+
+ if ( 0 > persAdminUserDataDelete(2, 1) )
+ {
+ bEverythingOK = false;
+ }
+
+ if ( bEverythingOK )
+ {
+ if ( 0 > persAdminUserDataDelete(2, 2) )
+ {
+ bEverythingOK = false;
+ }
+ }
+
+ if ( bEverythingOK )
+ {
+ if ( 0 > persAdminUserDataDelete(2, 3) )
+ {
+ bEverythingOK = false;
+ }
+ }
+
+ if ( bEverythingOK )
+ {
+ if ( 0 > persAdminUserDataDelete(2, 4) )
+ {
+ bEverythingOK = false;
+ }
+ }
+
+ printf("\nTest_DataAfterDeleteUser2Data: DeleteUser2Data() - %s \n", bEverythingOK ? "OK" : "FAILED") ;
+
+ return bEverythingOK ;
+}
diff --git a/test/pers_svc_test/src/test_pas_check_data_after_reset.c b/test/pers_svc_test/src/test_pas_check_data_after_reset.c
new file mode 100644
index 0000000..2608105
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_check_data_after_reset.c
@@ -0,0 +1,118 @@
+/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #include "persComTypes.h"
+#include "stdio.h"
+
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "ssw_pers_admin_files_helper.h"
+
+#include "test_PAS.h"
+#include "test_pas_check_data_after_reset.h"
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+expected_key_data_RCT_s expectedKeyData_shared_public_RCT_AfterReset[13] =
+{
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, true,
+ {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME, false,
+ {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+};
+
+expected_key_data_localDB_s expectedKeyData_shared_public_localDB_AfterReset[18] =
+{
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, NIL, 0},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, NIL, 0}
+};
+
+expected_file_data_s expectedFileData_shared_public_AfterReset[11] =
+{
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,NIL, 0},
+} ;
+
+#if 0
+bool_t Test_DataAfterReset(int ceva, void* pAltceva) ;
+
+testcase_s tc_testDataAfterReset =
+{
+ Test_DataAfterReset,
+ 0,
+ NIL,
+ "Check reference data structure after initialization",
+ expectedKeyData_shared_public_RCT_AfterReset,
+ sizeof(expectedKeyData_shared_public_RCT_AfterReset)/sizeof(expectedKeyData_shared_public_RCT_AfterReset[0]),
+ expectedKeyData_shared_public_localDB_AfterReset,
+ sizeof(expectedKeyData_shared_public_localDB_AfterReset)/sizeof(expectedKeyData_shared_public_localDB_AfterReset[0]),
+ expectedFileData_shared_public_AfterReset,
+ sizeof(expectedFileData_shared_public_AfterReset)/sizeof(expectedFileData_shared_public_AfterReset[0])
+};
+
+const testcase_s const* pTC_testDataAfterReset = &tc_testDataAfterReset ;
+#endif
+
+/**************************************************************************************************************
+***************************************** ADD TEST CASES HERE ********************************************
+**************************************************************************************************************/
+bool_t Test_DataAfterReset(int ceva, void* pAltceva)
+{
+ bool_t bEverythingOK = true ;
+
+ //bEverythingOK = ResetReferenceData() ;
+ //printf("\nTest_DataAfterReset: ResetReferenceData() - %s \n", bEverythingOK ? "OK" : "FAILED") ;
+ printf("\nTest_DataAfterReset: Data was reset... \n") ;
+
+ return bEverythingOK ;
+}
diff --git a/test/pers_svc_test/src/test_pas_import_all.c b/test/pers_svc_test/src/test_pas_import_all.c
new file mode 100644
index 0000000..dbf0d46
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_import_all.c
@@ -0,0 +1,237 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "stdio.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_import.h"
+
+#define LT_HDR "TEST_PAS >> "
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+expected_key_data_localDB_s expected_key_data_after_import_all_all[] =
+{
+// TO BE USED WHEN RCT logic is implemented
+// { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSettingK" , sizeof ("Data>>/pubSettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSettingL" , sizeof ("Data>>/pubSettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user1" , sizeof ("Data>>/pubSetting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user2" , sizeof ("Data>>/pubSetting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user3" , sizeof ("Data>>/pubSetting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME , true, "Data>>/pubSetting/KBL::user4" , sizeof ("Data>>/pubSetting/KBL::user4" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME , true, "Data>>/pubSetting/XYZ::user4" , sizeof ("Data>>/pubSetting/XYZ::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingK" , sizeof ("Data>>/gr10_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingL" , sizeof ("Data>>/gr10_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1" , sizeof ("Data>>/gr10_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2" , sizeof ("Data>>/gr10_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3" , sizeof ("Data>>/gr10_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4" , sizeof ("Data>>/gr10_Setting/KBL::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingZ" , sizeof ("Data>>/gr10_SettingZ" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4" , sizeof ("Data>>/gr10_Setting/PRT::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingK" , sizeof ("Data>>/gr20_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingL" , sizeof ("Data>>/gr20_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user1" , sizeof ("Data>>/gr20_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user2" , sizeof ("Data>>/gr20_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user3" , sizeof ("Data>>/gr20_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user4" , sizeof ("Data>>/gr20_Setting/KBL::user4" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/PRT::user4" , sizeof ("Data>>/gr20_Setting/PRT::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingK" , sizeof("Data>>/App1_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingL" , sizeof("Data>>/App1_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user1" , sizeof("Data>>/App1_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user2" , sizeof("Data>>/App1_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user3" , sizeof("Data>>/App1_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user4" , sizeof("Data>>/App1_Setting/KBL::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingK" , sizeof("Data>>/App2_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingL" , sizeof("Data>>/App2_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user1" , sizeof("Data>>/App2_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user2" , sizeof("Data>>/App2_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user3" , sizeof("Data>>/App2_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user4" , sizeof("Data>>/App2_Setting/KBL::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingZ" , sizeof ("Data>>/gr20_SettingZ" )},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof ("Data>>/pubSettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof ("Data>>/pubSettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof ("Data>>/pubSettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof ("Data>>/pubSettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof ("Data>>/pubSettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof ("Data>>/pubSettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof ("Data>>/pubSetting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof ("Data>>/pubSetting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof ("Data>>/pubSetting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof ("Data>>/pubSetting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof ("Data>>/gr10_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user1:seat1" , sizeof ("Data>>/gr10_SettingB::user1:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof ("Data>>/gr10_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof ("Data>>/gr10_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof ("Data>>/gr10_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof ("Data>>/gr10_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof ("Data>>/gr10_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof ("Data>>/gr10_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof ("Data>>/gr10_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof ("Data>>/gr10_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof ("Data>>/gr10_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof ("Data>>/gr20_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof ("Data>>/gr20_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof ("Data>>/gr20_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof ("Data>>/gr20_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof ("Data>>/gr20_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof ("Data>>/gr20_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof ("Data>>/gr20_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof ("Data>>/gr20_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof ("Data>>/gr20_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof ("Data>>/gr20_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ //key in original data, not present in import set
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ //key in original data, not present in import set
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingB::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )},
+ //key in original data, not present in import set
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )},
+ //key in original data, not present in import set
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expected_file_data_after_import_all_all[] =
+{
+// TO BE USED WHEN RCT logic is implemented
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true , "File>>/docK.txt::user1" , sizeof( "File>>/docK.txt::user1" ) },
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true , "File>>/docK.txt::user2" , sizeof( "File>>/docK.txt::user2" ) },
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", false , "File>>/docT.txt::user2" , sizeof( "File>>/docT.txt::user2" ) },
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true , "File>>/docK.txt::user3" , sizeof( "File>>/docK.txt::user3" ) },
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true , "File>>/docK.txt::user4" , sizeof( "File>>/docK.txt::user4" ) },
+// { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", false , "File>>/docC.txt::user2:seat4" , sizeof( "File>>/docC.txt::user2:seat4" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr10_>>/docK.txt::user1" , sizeof ( "File>>gr10_>>/docK.txt::user1" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof ( "File>>gr10_>>/docK.txt::user2" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", false, "File>>gr10_>>/docK.txt::user2" , sizeof ( "File>>gr10_>>/docK.txt::user2" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr10_>>/docK.txt::user3" , sizeof ( "File>>gr10_>>/docK.txt::user3" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr10_>>/docK.txt::user4" , sizeof ( "File>>gr10_>>/docK.txt::user4" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", false, "File>>gr10_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr10_>>/docB.txt::user2:seat4" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr20_>>/docK.txt::user1" , sizeof ( "File>>gr20_>>/docK.txt::user1" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr20_>>/docK.txt::user2" , sizeof ( "File>>gr20_>>/docK.txt::user2" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", false, "File>>gr20_>>/docK.txt::user2" , sizeof ( "File>>gr20_>>/docK.txt::user2" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr20_>>/docK.txt::user3" , sizeof ( "File>>gr20_>>/docK.txt::user3" ) },
+// { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr20_>>/docK.txt::user4" , sizeof ( "File>>gr20_>>/docK.txt::user4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::user2:seat4" , sizeof("File>>App2>>/docC.txt::user2:seat4" ) }
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docD.txt::user2:seat4" ) }
+
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true , "File>>/doc1.txt" , sizeof( "File>>/doc1.txt" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true , "File>>/Docs/doc2.txt" , sizeof( "File>>/Docs/doc2.txt" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true , "File>>/docB.txt::user2:seat1" , sizeof( "File>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true , "File>>/docB.txt::user2:seat2" , sizeof( "File>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true , "File>>/docB.txt::user2:seat3" , sizeof( "File>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true , "File>>/docB.txt::user2:seat4" , sizeof( "File>>/docB.txt::user2:seat4" ) },
+
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof ( "File>>gr10_>>/gr10_1.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof ( "File>>gr10_>>/Docs/gr10_A.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" ) },
+
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof ( "File>>gr20_>>/doc1.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof ( "File>>gr20_>>/Docs/doc2.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) },
+
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) },
+
+
+};
+
+bool_t Test_import_all_all(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long impBytes =-1;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ bEverythingOK = ResetImportData(PersASSelectionType_All);
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ impBytes = persAdminDataFolderImport(PersASSelectionType_All, pchBackupFilePath);
+
+ bEverythingOK = (impBytes >= 0)?true:false;
+ }
+
+ printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ;
+
+ return bEverythingOK ;
+}
+
diff --git a/test/pers_svc_test/src/test_pas_import_app.c b/test/pers_svc_test/src/test_pas_import_app.c
new file mode 100644
index 0000000..7979807
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_import_app.c
@@ -0,0 +1,141 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_import.h"
+
+#define LT_HDR "TEST_PAS >> "
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+expected_key_data_localDB_s expected_key_data_after_import_app_all[] =
+{
+// TO BE USED WHEN RCT logic is implemented
+// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingK" , sizeof("Data>>/App1_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_SettingL" , sizeof("Data>>/App1_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user1" , sizeof("Data>>/App1_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user2" , sizeof("Data>>/App1_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user3" , sizeof("Data>>/App1_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App1_Setting/KBL::user4" , sizeof("Data>>/App1_Setting/KBL::user4" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingK" , sizeof("Data>>/App2_SettingK" )},
+// { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_SettingL" , sizeof("Data>>/App2_SettingL" )},
+// { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user1" , sizeof("Data>>/App2_Setting/KBL::user1" )},
+// { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user2" , sizeof("Data>>/App2_Setting/KBL::user2" )},
+// { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user3" , sizeof("Data>>/App2_Setting/KBL::user3" )},
+// { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME , true, "Data>>/App2_Setting/KBL::user4" , sizeof("Data>>/App2_Setting/KBL::user4" )},
+
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )},
+
+ //common data, not imported for type "application"
+ //public key
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")},
+ //group key
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user1::seat1" , sizeof ("Data>>/gr10_SettingB::user1::seat1" )},
+};
+
+expected_file_data_s expected_file_data_after_import_app_all[] =
+{
+// TO BE USED WHEN RCT logic is implemented
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4" ) },
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::user2:seat4" , sizeof("File>>App2>>/docC.txt::user2:seat4" ) }
+// { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docD.txt::user2:seat4" ) }
+
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) }
+
+
+};
+
+bool_t Test_import_all_app(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long impBytes =-1;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ bEverythingOK = ResetImportData(PersASSelectionType_Application);
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ impBytes = persAdminDataFolderImport(PersASSelectionType_Application, pchBackupFilePath);
+
+ bEverythingOK = (impBytes >= 0)?true:false;
+ }
+
+ printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ;
+
+ return bEverythingOK ;
+}
diff --git a/test/pers_svc_test/src/test_pas_import_source_content.c b/test/pers_svc_test/src/test_pas_import_source_content.c
new file mode 100644
index 0000000..b0aeaa4
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_import_source_content.c
@@ -0,0 +1,1011 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "persistence_admin_service.h"
+#include "test_PAS.h"
+#include "test_pas_data_import.h"
+
+/* compress/uncompress */
+#include <archive.h>
+#include <archive_entry.h>
+
+
+#define READ_BUFFER_LENGTH (16384)
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+
+#define LT_HDR "TEST_PAS >> "
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+#define USE_REF_RCT
+
+#ifndef USE_REF_RCT
+entryRctInit_s RCT_public_init_import[] =
+{
+ {"/pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSetting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+} ;
+#else
+static entryRctInit_s RCT_public_init_import[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+} ;
+#endif
+
+entryDataInit_s dataKeysPublicInit_import[] =
+{
+// {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingK"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"},
+// {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingL"},
+// {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/KBL::user1"},
+// {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/KBL::user2"},
+// {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/KBL::user3"},
+// {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/KBL::user4"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingB"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user2"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"}
+// {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/XYZ::user4"}
+} ;
+
+
+entryDataInit_s dataFilesPublicInit_import[] =
+{
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"}
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFilesPublicInit_import_wt[] =
+{
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"},
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"}
+// {0, IMPORT_LOCATION PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"}
+};
+
+dataInit_s sSharedPubDataInit_import =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ ,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init_import,
+ sizeof(RCT_public_init_import)/sizeof(RCT_public_init_import[0]),
+ dataKeysPublicInit_import,
+ sizeof(dataKeysPublicInit_import)/sizeof(dataKeysPublicInit_import[0]),
+ dataFilesPublicInit_import,
+ sizeof(dataFilesPublicInit_import)/sizeof(dataFilesPublicInit_import[0])
+} ;
+
+dataInit_s sSharedPubDataInit_import_wt =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init_import,
+ sizeof(RCT_public_init_import)/sizeof(RCT_public_init_import[0]),
+ dataKeysPublicInit_import,
+ sizeof(dataKeysPublicInit_import)/sizeof(dataKeysPublicInit_import[0]),
+ dataFilesPublicInit_import_wt,
+ sizeof(dataFilesPublicInit_import_wt)/sizeof(dataFilesPublicInit_import_wt[0])
+} ;
+
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+#ifndef USE_REF_RCT
+entryRctInit_s RCT_group10_init_import[] =
+{
+ {"/gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingZ", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/gr10_Setting/PRT", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}
+} ;
+#else
+ static entryRctInit_s RCT_group10_init_import[] =
+ {
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"},{NIL},{NIL}}}
+ } ;
+#endif
+
+entryDataInit_s dataKeys_Group10_Init_import[] =
+{
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingK"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 1, 1, "Data>>/gr10_SettingB::user1:seat1"},
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingL"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/KBL::user1"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/KBL::user2"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/KBL::user3"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/KBL::user4"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"},
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingZ"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"}
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/PRT::user4"}
+} ;
+
+
+entryDataInit_s dataFiles_Group10_Init_import[] =
+{
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_A.txt"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"},
+
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/gr10_1.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/gr10_1.txt::user2:seat4"}
+
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"}
+};
+
+
+entryDataInit_s dataFiles_Group10_Init_import_wt[] =
+{
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/doc1.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/doc2.txt"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"},
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/docB.txt::user2:seat1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/docB.txt::user2:seat2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/docB.txt::user2:seat3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"}
+// {0x10, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"}
+};
+
+
+dataInit_s sShared_Group10_DataInit_import =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init_import,
+ sizeof(RCT_group10_init_import)/sizeof(RCT_group10_init_import[0]),
+ dataKeys_Group10_Init_import,
+ sizeof(dataKeys_Group10_Init_import)/sizeof(dataKeys_Group10_Init_import[0]),
+ dataFiles_Group10_Init_import,
+ sizeof(dataFiles_Group10_Init_import)/sizeof(dataFiles_Group10_Init_import[0])
+} ;
+
+dataInit_s sShared_Group10_DataInit_import_wt =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init_import,
+ sizeof(RCT_group10_init_import)/sizeof(RCT_group10_init_import[0]),
+ dataKeys_Group10_Init_import,
+ sizeof(dataKeys_Group10_Init_import)/sizeof(dataKeys_Group10_Init_import[0]),
+ dataFiles_Group10_Init_import_wt,
+ sizeof(dataFiles_Group10_Init_import_wt)/sizeof(dataFiles_Group10_Init_import_wt[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+#ifndef USE_REF_RCT
+entryRctInit_s RCT_group20_init_import[] =
+{
+ {"/gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingZ", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/gr20_Setting/PRT", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/docT.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+#else
+ static entryRctInit_s RCT_group20_init_import[] =
+ {
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+ } ;
+#endif
+
+entryDataInit_s dataKeys_Group20_Init_import[] =
+{
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingK"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"},
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingL"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/KBL::user1"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/KBL::user2"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/KBL::user3"},
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/KBL::user4"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"},
+// {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingZ"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"}
+// {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/PRT::user4"}
+} ;
+
+entryDataInit_s dataFiles_Group20_Init_import[] =
+{
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFiles_Group20_Init_import_wt[] =
+{
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"},
+// {0x20, IMPORT_LOCATION PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"}
+};
+
+dataInit_s sShared_Group20_DataInit_import =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init_import,
+ sizeof(RCT_group20_init_import)/sizeof(RCT_group20_init_import[0]),
+ dataKeys_Group20_Init_import,
+ sizeof(dataKeys_Group20_Init_import)/sizeof(dataKeys_Group20_Init_import[0]),
+ dataFiles_Group20_Init_import,
+ sizeof(dataFiles_Group20_Init_import)/sizeof(dataFiles_Group20_Init_import[0])
+} ;
+
+dataInit_s sShared_Group20_DataInit_import_wt =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init_import,
+ sizeof(RCT_group20_init_import)/sizeof(RCT_group20_init_import[0]),
+ dataKeys_Group20_Init_import,
+ sizeof(dataKeys_Group20_Init_import)/sizeof(dataKeys_Group20_Init_import[0]),
+ dataFiles_Group20_Init_import_wt,
+ sizeof(dataFiles_Group20_Init_import_wt)/sizeof(dataFiles_Group20_Init_import_wt[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+#ifndef USE_REF_RCT
+entryRctInit_s RCT_App1_init_import[] =
+{
+ {"/App1_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"/Docs/docC.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+#else
+ static entryRctInit_s RCT_App1_init_import[] =
+ {
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+ } ;
+#endif
+
+entryDataInit_s dataKeys_App1_Init_import[] =
+{
+// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingK"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"},
+// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingL"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/KBL::user1"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/KBL::user2"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/KBL::user3"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/KBL::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"}
+} ;
+
+entryDataInit_s dataFiles_App1_Init_import[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"}
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFiles_App1_Init_import_wt[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"}
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"}
+};
+
+dataInit_s s_App1_DataInit_import =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init_import,
+ sizeof(RCT_App1_init_import)/sizeof(RCT_App1_init_import[0]),
+ dataKeys_App1_Init_import,
+ sizeof(dataKeys_App1_Init_import)/sizeof(dataKeys_App1_Init_import[0]),
+ dataFiles_App1_Init_import,
+ sizeof(dataFiles_App1_Init_import)/sizeof(dataFiles_App1_Init_import[0])
+} ;
+
+dataInit_s s_App1_DataInit_import_wt =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init_import,
+ sizeof(RCT_App1_init_import)/sizeof(RCT_App1_init_import[0]),
+ dataKeys_App1_Init_import,
+ sizeof(dataKeys_App1_Init_import)/sizeof(dataKeys_App1_Init_import[0]),
+ dataFiles_App1_Init_import_wt,
+ sizeof(dataFiles_App1_Init_import_wt)/sizeof(dataFiles_App1_Init_import_wt[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+#ifndef USE_REF_RCT
+entryRctInit_s RCT_App2_init_import[] =
+{
+ {"/App2_SettingK", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_Setting/KBL", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/docK.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"/Docs/docC.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+#else
+ static entryRctInit_s RCT_App2_init_import[] =
+ {
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+ } ;
+#endif
+
+entryDataInit_s dataKeys_App2_Init_import[] =
+{
+// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingK"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"},
+// {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingL"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/KBL::user1"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/KBL::user2"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/KBL::user3"},
+// {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/KBL::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"}
+} ;
+
+entryDataInit_s dataFiles_App2_Init_import[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"}
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::user2:seat4"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFiles_App2_Init_import_wt[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"}
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::user2:seat4"},
+// {0xFF, IMPORT_LOCATION PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::user2:seat4"}
+};
+
+dataInit_s s_App2_DataInit_import =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init_import,
+ sizeof(RCT_App2_init_import)/sizeof(RCT_App2_init_import[0]),
+ dataKeys_App2_Init_import,
+ sizeof(dataKeys_App2_Init_import)/sizeof(dataKeys_App2_Init_import[0]),
+ dataFiles_App2_Init_import,
+ sizeof(dataFiles_App2_Init_import)/sizeof(dataFiles_App2_Init_import[0])
+} ;
+
+dataInit_s s_App2_DataInit_import_wt =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init_import,
+ sizeof(RCT_App2_init_import)/sizeof(RCT_App2_init_import[0]),
+ dataKeys_App2_Init_import,
+ sizeof(dataKeys_App2_Init_import)/sizeof(dataKeys_App2_Init_import[0]),
+ dataFiles_App2_Init_import_wt,
+ sizeof(dataFiles_App2_Init_import_wt)/sizeof(dataFiles_App2_Init_import_wt[0])
+} ;
+
+
+/**
+ * @brief Saves files together into a single archive.
+ * @usage persadmin_compress("/path/to/compress/to/archive_name.tgz", "/path/from/where/to/compress")
+ * @return 0 for success, negative value otherwise.
+ */
+static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom)
+{
+ uint8_t buffer [READ_BUFFER_LENGTH];
+ str_t pchParentPath [PATH_ABS_MAX_SIZE];
+ pstr_t pchStrPos = NIL;
+ struct archive *psArchive = NIL;
+ struct archive *psDisk = NIL;
+ struct archive_entry *psEntry = NIL;
+ sint_t s32Result = ARCHIVE_OK;
+ sint_t s32Length = 0;
+ sint_t fd;
+ sint_t s32ParentPathLength = 0;
+
+
+ if( (NIL == compressTo) ||
+ (NIL == compressFrom) )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - invalid parameters \n");
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ printf("persadmin_compress - create <%s> from <%s>\n", compressTo, compressFrom);
+ psArchive = archive_write_new();
+ if( NIL == psArchive )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - archive_write_new ERR\n");
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ /* this in turn calls archive_write_add_filter_gzip; */
+ s32Result = archive_write_set_compression_gzip(psArchive);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_write_set_compression_gzip ERR %d\n", s32Result);
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ /* portable archive exchange; */
+ archive_write_set_format_pax(psArchive);
+ compressTo = (strcmp(compressTo, "-") == 0) ? NIL : compressTo;
+ s32Result = archive_write_open_filename(psArchive, compressTo);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_write_open_filename ERR %d\n", s32Result);
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ psDisk = archive_read_disk_new();
+ if( NIL == psDisk )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - archive_read_disk_new ERR\n");
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ archive_read_disk_set_standard_lookup(psDisk);
+ s32Result = archive_read_disk_open(psDisk, compressFrom);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_read_disk_new ERR %s\n", archive_error_string(psDisk));
+ }
+ }
+
+ memset(pchParentPath, 0, sizeof(pchParentPath));
+ snprintf(pchParentPath, sizeof(pchParentPath), compressFrom);
+ pchStrPos = strrchr(pchParentPath, '/');
+ if(NIL != pchStrPos)
+ {
+ *pchStrPos = '\0';
+ }
+ s32ParentPathLength = strlen(pchParentPath);
+
+
+ while( ARCHIVE_OK == s32Result )
+ {
+ psEntry = archive_entry_new();
+ s32Result = archive_read_next_header2(psDisk, psEntry);
+
+ switch( s32Result )
+ {
+ case ARCHIVE_EOF:
+ {
+ /* nothing else to do; */
+ break;
+ }
+ case ARCHIVE_OK:
+ {
+ str_t pstrTemp[PATH_ABS_MAX_SIZE];
+ pstr_t p = archive_entry_pathname(psEntry);
+ if(NIL != p)
+ {
+ /* remove parent section and save relative pathnames */
+ memset(pstrTemp, 0, sizeof(pstrTemp));
+ snprintf(pstrTemp, sizeof(pstrTemp), "%s", p + (s32ParentPathLength + 1));
+ archive_entry_copy_pathname(psEntry, pstrTemp);
+ }
+
+ archive_read_disk_descend(psDisk);
+ s32Result = archive_write_header(psArchive, psEntry);
+ if( ARCHIVE_OK > s32Result)
+ {
+ printf("persadmin_compress - archive_write_header ERR %s\n", archive_error_string(psArchive));
+ }
+ if( ARCHIVE_FATAL == s32Result )
+ {
+ /* exit; */
+ printf("persadmin_compress - archive_write_header ERR FATAL\n");
+ }
+ if( ARCHIVE_FAILED < s32Result )
+ {
+#if 0
+ /* Ideally, we would be able to use
+ * the same code to copy a body from
+ * an archive_read_disk to an
+ * archive_write that we use for
+ * copying data from an archive_read
+ * to an archive_write_disk.
+ * Unfortunately, this doesn't quite
+ * work yet. */
+ persadmin_copy_data(psDisk, psArchive);
+#else
+
+ /* For now, we use a simpler loop to copy data
+ * into the target archive. */
+ fd = open(archive_entry_sourcepath(psEntry), O_RDONLY);
+ s32Length = read(fd, buffer, READ_BUFFER_LENGTH);
+ while( s32Length > 0 )
+ {
+ archive_write_data(psArchive, buffer, s32Length);
+ s32Length = read(fd, buffer, READ_BUFFER_LENGTH);
+ }
+ close(fd);
+#endif
+ }
+
+ break;
+ }
+ default:
+ {
+ printf("persadmin_compress - archive_read_next_header2 ERR %s\n", archive_error_string(psDisk));
+ /* exit; */
+ break;
+ }
+ }
+
+ if( NIL != psEntry )
+ {
+ archive_entry_free(psEntry);
+ }
+ }
+
+ /* perform cleaning operations; */
+ if( NIL != psDisk )
+ {
+ archive_read_close(psDisk);
+ archive_read_free(psDisk);
+ }
+
+ if( NIL != psArchive )
+ {
+ archive_write_close(psArchive);
+ archive_write_free(psArchive);
+ }
+
+ /* overwrite result; */
+ s32Result = (s32Result == ARCHIVE_EOF) ? ARCHIVE_OK : s32Result;
+ /* return result; */
+ return s32Result;
+
+} /* persadmin_compress() */
+
+
+//reset import tree
+bool_t ResetImportData(PersASSelectionType_e type)
+{
+ bool_t bEverythingOK = true ;
+ sint_t sResult = 0;
+ pstr_t referenceDataPath = BACKUP_CONTENT_FOLDER;
+ str_t pchPathCompressTo [PATH_ABS_MAX_SIZE];
+ str_t pchPathCompressFrom [PATH_ABS_MAX_SIZE];
+ long lRetVal = 0;
+
+ sint_t result = DeleteFolder(referenceDataPath);
+ printf("\nDeleteFolder(%s) returned %d\n", referenceDataPath, result) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ //TODO : create predefined imported data to be used here
+ &sSharedPubDataInit_import,
+ &sShared_Group10_DataInit_import,
+ &sShared_Group20_DataInit_import,
+ &s_App1_DataInit_import,
+ &s_App2_DataInit_import
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ //TODO : create predefined imported data to be used here
+ &sSharedPubDataInit_import_wt,
+ &sShared_Group10_DataInit_import_wt,
+ &sShared_Group20_DataInit_import_wt,
+ &s_App1_DataInit_import_wt,
+ &s_App2_DataInit_import_wt
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ /* compress the source folder and delete it afterwards */
+ (void)snprintf(pchPathCompressFrom, sizeof(pchPathCompressFrom), "%s", BACKUP_CONTENT_FOLDER);
+
+ /* create the tar name; */
+ switch( type )
+ {
+ case PersASSelectionType_Application:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "App1", BACKUP_FORMAT);
+ sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom);
+ if( 0 > sResult )
+ {
+ bEverythingOK = false;
+ break;
+ }
+
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "App2", BACKUP_FORMAT);
+ sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom);
+ if( 0 > sResult )
+ {
+ bEverythingOK = false;
+ break;
+ }
+
+ break;
+ }
+ case PersASSelectionType_User:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "user", BACKUP_FORMAT);
+ sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom);
+ if( 0 > sResult )
+ {
+ bEverythingOK = false;
+ }
+ break;
+ }
+ case PersASSelectionType_All:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "all", BACKUP_FORMAT);
+ sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom);
+ if( 0 > sResult )
+ {
+ bEverythingOK = false;
+ }
+ break;
+ }
+ default:
+ {
+ bEverythingOK = false;
+ /* nothing to do */
+ break;
+ }
+ }
+
+ if(true == bEverythingOK)
+ {
+ /* remove the initial folder content */
+ DeleteFolder(referenceDataPath);
+ }
+
+ return bEverythingOK ;
+}
diff --git a/test/pers_svc_test/src/test_pas_import_user.c b/test/pers_svc_test/src/test_pas_import_user.c
new file mode 100644
index 0000000..d3589b3
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_import_user.c
@@ -0,0 +1,170 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "stdio.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_import.h"
+
+#define LT_HDR "TEST_PAS >> "
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+expected_key_data_localDB_s expected_key_data_after_import_all_user[] =
+{
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingB", sizeof("Data>>/pubSettingB")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1" , sizeof ("Data>>/pubSettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2" , sizeof ("Data>>/pubSettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD" , sizeof ("Data>>/pubSettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1" , sizeof ("Data>>/pubSettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2" , sizeof ("Data>>/pubSettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF" , sizeof ("Data>>/pubSettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1" , sizeof ("Data>>/pubSetting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2" , sizeof ("Data>>/pubSetting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3" , sizeof ("Data>>/pubSetting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4" , sizeof ("Data>>/pubSetting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1" , sizeof ("Data>>/gr10_SettingB::user2::seat1" )},
+
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user1:seat1" , sizeof ("Data>>/gr10_SettingB::user1:seat1" )},
+
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2" , sizeof ("Data>>/gr10_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD" , sizeof ("Data>>/gr10_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1" , sizeof ("Data>>/gr10_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2" , sizeof ("Data>>/gr10_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF" , sizeof ("Data>>/gr10_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1" , sizeof ("Data>>/gr10_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2" , sizeof ("Data>>/gr10_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3" , sizeof ("Data>>/gr10_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4" , sizeof ("Data>>/gr10_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1" , sizeof ("Data>>/gr20_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2" , sizeof ("Data>>/gr20_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD" , sizeof ("Data>>/gr20_SettingD" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1" , sizeof ("Data>>/gr20_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2" , sizeof ("Data>>/gr20_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF" , sizeof ("Data>>/gr20_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1" , sizeof ("Data>>/gr20_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2" , sizeof ("Data>>/gr20_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3" , sizeof ("Data>>/gr20_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4" , sizeof ("Data>>/gr20_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1" , sizeof("Data>>/App1_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2" , sizeof("Data>>/App1_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingD" )},
+ //key in original data, not present in import set
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD" , sizeof("Data>>/App1_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ //key in original data, not present in import set
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingB::user2:seat1" , sizeof("Data>>/App1_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2" , sizeof("Data>>/App1_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF" , sizeof("Data>>/App1_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1" , sizeof("Data>>/App1_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2" , sizeof("Data>>/App1_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3" , sizeof("Data>>/App1_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4" , sizeof("Data>>/App1_Setting/DEF::user4" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1" , sizeof("Data>>/App2_SettingB::user2::seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2" , sizeof("Data>>/App2_SettingB::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingD" )},
+ //key in original data, not present in import set
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD" , sizeof("Data>>/App2_SettingA" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1" , sizeof("Data>>/App2_SettingE::user2:seat1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )},
+ //key in original data, not present in import set
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2" , sizeof("Data>>/App2_SettingE::user2:seat2" )},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF" , sizeof("Data>>/App2_SettingF" )},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1" , sizeof("Data>>/App2_Setting/DEF::user1" )},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2" , sizeof("Data>>/App2_Setting/DEF::user2" )},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3" , sizeof("Data>>/App2_Setting/DEF::user3" )},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4" , sizeof("Data>>/App2_Setting/DEF::user4" )}
+};
+
+expected_file_data_s expected_file_data_after_import_all_user[] =
+{
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof( "File>>/doc1.txt" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof( "File>>/Docs/doc2.txt" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof( "File>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof( "File>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof( "File>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof( "File>>/docB.txt::user2:seat4" ) },
+
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof ( "File>>gr10_>>/gr10_1.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof ( "File>>gr10_>>/Docs/gr10_A.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4", sizeof ( "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" ) },
+
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof ( "File>>gr20_>>/doc1.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof ( "File>>gr20_>>/Docs/doc2.txt" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof ( "File>>gr20_>>/docB.txt::user2:seat4" ) },
+
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" ) },
+
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3" ) },
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4" ) },
+ //{ PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/doc1.txt", true, "File>>gr10_>>/doc1.txt::user2:seat4" , sizeof("File>>gr10_>>/doc1.txt::user2:seat4" ) },
+
+};
+
+bool_t Test_import_all_user(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long impBytes = -1;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ bEverythingOK = ResetImportData(PersASSelectionType_User);
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Import from:"),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ impBytes = persAdminDataFolderImport(PersASSelectionType_User, pchBackupFilePath );
+
+ bEverythingOK = (impBytes >= 0)?true:false;
+ }
+
+ printf("\nTest_import_all - %s \n", bEverythingOK ? "OK" : "FAILED") ;
+
+ return bEverythingOK ;
+}
diff --git a/test/pers_svc_test/src/test_pas_recovery_All.c b/test/pers_svc_test/src/test_pas_recovery_All.c
new file mode 100644
index 0000000..8512b08
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_All.c
@@ -0,0 +1,319 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// using a common backup content structure
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_All[23 + 24 + 48 + 44] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingK", sizeof("Data>>/pubSettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingL", sizeof("Data>>/pubSettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user1", sizeof("Data>>/pubSetting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user2", sizeof("Data>>/pubSetting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user3", sizeof("Data>>/pubSetting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user4", sizeof("Data>>/pubSetting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/XYZ::user4", sizeof("Data>>/pubSetting/XYZ::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingK", sizeof("Data>>/gr10_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingL", sizeof("Data>>/gr10_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1", sizeof("Data>>/gr10_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2", sizeof("Data>>/gr10_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3", sizeof("Data>>/gr10_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4", sizeof("Data>>/gr10_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingZ", sizeof("Data>>/gr10_SettingZ")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4", sizeof("Data>>/gr10_Setting/PRT::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+} ;
+
+expected_file_data_s expected_file_data_after_restore_All[16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false,"File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false,"File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false,"File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true, "File>>/docK.txt::user1" , sizeof("File>>/docK.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true, "File>>/docK.txt::user2" , sizeof("File>>/docK.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", true, "File>>/docT.txt::user2" , sizeof("File>>/docT.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true, "File>>/docK.txt::user3" , sizeof("File>>/docK.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true, "File>>/docK.txt::user4" , sizeof("File>>/docK.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>/docC.txt::user2:seat4" , sizeof("File>>/docC.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App2>>/docK.txt::user1" , sizeof("File>>App2>>/docK.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App2>>/docK.txt::user2" , sizeof("File>>App2>>/docK.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App2>>/docK.txt::user3" , sizeof("File>>App2>>/docK.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App2>>/docK.txt::user4" , sizeof("File>>App2>>/docK.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App2>>/docC.txt::userC:seat4" , sizeof("File>>App2>>/docC.txt::userC:seat4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App2>>/docD.txt::userC:seat4" , sizeof("File>>App2>>/docD.txt::userC:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+
+bool_t Test_Recover_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Reset the backup data for every test */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content..."));
+
+ lTemp = ResetBackupContent(PersASSelectionType_All, NULL);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All: ResetBackupContent() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_All,
+ pchBackupFilePath,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All: data_backup_recovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_All */
diff --git a/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c b/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c
new file mode 100644
index 0000000..a01d901
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_AllInitialContent.c
@@ -0,0 +1,568 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+
+/**********************************************************************************************************************************************
+***************************************** public *******************************************************************************************
+*********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_public_init[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+};
+
+static entryDataInit_s dataKeysPublicInit[] = {};
+
+static entryDataInit_s dataFilesPublicInit[] = {};
+
+static dataInit_s sSharedPubDataInit =
+{
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init,
+ sizeof(RCT_public_init)/sizeof(RCT_public_init[0]),
+ dataKeysPublicInit,
+ sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]),
+ dataFilesPublicInit,
+ sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0])
+};
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_group10_init[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}} ;
+
+static entryDataInit_s dataKeys_Group10_Init[] = {};
+
+static entryDataInit_s dataFiles_Group10_Init[] = {};
+
+static dataInit_s sShared_Group10_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init,
+ sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]),
+ dataKeys_Group10_Init,
+ sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]),
+ dataFiles_Group10_Init,
+ sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group20_init[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group20_Init[] = {};
+
+static entryDataInit_s dataFiles_Group20_Init[] ={};
+
+static dataInit_s sShared_Group20_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init,
+ sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]),
+ dataKeys_Group20_Init,
+ sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]),
+ dataFiles_Group20_Init,
+ sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App1_init[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App1_Init[] = {} ;
+
+static entryDataInit_s dataFiles_App1_Init[] = {};
+
+static dataInit_s s_App1_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init,
+ sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]),
+ dataKeys_App1_Init,
+ sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]),
+ dataFiles_App1_Init,
+ sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App2_init[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App2_Init[] = {};
+
+static entryDataInit_s dataFiles_App2_Init[] = {};
+
+static dataInit_s s_App2_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init,
+ sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]),
+ dataKeys_App2_Init,
+ sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]),
+ dataFiles_App2_Init,
+ sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0])
+} ;
+
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// the backup content is obtained trough the backup process
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_All_InitialContent[16 + 16 + 16 + 32+ 32] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+} ;
+
+expected_file_data_s expected_file_data_after_restore_All_InitialContent[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+static bool_t EraseReferenceData(void)
+{
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ;
+
+ sint_t result = DeleteFolderContent(referenceDataPath) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubDataInit,
+ &sShared_Group10_DataInit,
+ &sShared_Group20_DataInit,
+ &s_App1_DataInit,
+ &s_App2_DataInit
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+
+bool_t Test_Recover_All_InitialContent(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_All,
+ BACKUP_FOLDER,
+ "",
+ USER_DONT_CARE,
+ SEAT_DONT_CARE);
+
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_All,
+ pchBackupFilePath,
+ "",
+ USER_DONT_CARE,
+ SEAT_DONT_CARE);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_All_InitialContent: data_backup_recovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_All_InitialContent */
diff --git a/test/pers_svc_test/src/test_pas_recovery_App1.c b/test/pers_svc_test/src/test_pas_recovery_App1.c
new file mode 100644
index 0000000..55803d4
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_App1.c
@@ -0,0 +1,137 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// using a common backup content structure
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_App1[24] =
+{
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")},
+};
+
+expected_file_data_s expected_file_data_after_restore_App1[16] =
+{
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )}
+} ;
+//===================================================================================================================
+
+
+bool_t Test_Recover_App1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Reset the backup data for every test */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content..."));
+
+ lTemp = ResetBackupContent(PersASSelectionType_Application, "App1");
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1: ResetBackupContent() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "App1", BACKUP_FORMAT);
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application,
+ pchBackupFilePath,
+ "App1",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_App1 */
diff --git a/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c
new file mode 100644
index 0000000..9a3abba
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_App1InitialContent.c
@@ -0,0 +1,625 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+
+/**********************************************************************************************************************************************
+***************************************** public *******************************************************************************************
+*********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_public_init[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+};
+
+static entryDataInit_s dataKeysPublicInit[] = {};
+
+static entryDataInit_s dataFilesPublicInit[] = {};
+
+static dataInit_s sSharedPubDataInit =
+{
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init,
+ sizeof(RCT_public_init)/sizeof(RCT_public_init[0]),
+ dataKeysPublicInit,
+ sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]),
+ dataFilesPublicInit,
+ sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0])
+};
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_group10_init[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group10_Init[] = {};
+
+static entryDataInit_s dataFiles_Group10_Init[] = {};
+
+static dataInit_s sShared_Group10_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init,
+ sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]),
+ dataKeys_Group10_Init,
+ sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]),
+ dataFiles_Group10_Init,
+ sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group20_init[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group20_Init[] = {};
+
+static entryDataInit_s dataFiles_Group20_Init[] ={};
+
+static dataInit_s sShared_Group20_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init,
+ sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]),
+ dataKeys_Group20_Init,
+ sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]),
+ dataFiles_Group20_Init,
+ sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App1_init[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App1_Init[] = {} ;
+
+static entryDataInit_s dataFiles_App1_Init[] = {};
+
+static dataInit_s s_App1_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init,
+ sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]),
+ dataKeys_App1_Init,
+ sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]),
+ dataFiles_App1_Init,
+ sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App2_init[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App2_Init[] = {};
+
+static entryDataInit_s dataFiles_App2_Init[] = {};
+
+static dataInit_s s_App2_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init,
+ sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]),
+ dataKeys_App2_Init,
+ sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]),
+ dataFiles_App2_Init,
+ sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0])
+} ;
+
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// the backup content is obtained trough the backup process
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_App1_InitialContent[16 + 16 + 16 + 32+ 32] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+} ;
+
+expected_file_data_s expected_file_data_after_restore_App1_InitialContent[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+static bool_t EraseReferenceData(void)
+{
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ;
+
+ sint_t result = DeleteFolderContent(referenceDataPath) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubDataInit,
+ &sShared_Group10_DataInit,
+ &sShared_Group20_DataInit,
+ &s_App1_DataInit,
+ &s_App2_DataInit
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+
+bool_t Test_Recover_App1_InitialContent_From_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_All,
+ BACKUP_FOLDER,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application,
+ pchBackupFilePath,
+ "App1",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_All: data_backup_recovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+ return bEverythingOK ;
+} /* Test_Recover_App1_InitialContent_From_All */
+
+
+
+bool_t Test_Recover_App1_InitialContent_From_App1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_Application,
+ BACKUP_FOLDER,
+ "App1",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "App1", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_Application,
+ pchBackupFilePath,
+ "App1",
+ USER_DONT_CARE,
+ SEAT_DONT_CARE);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_App1_InitialContent_From_App1: data_backup_recovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+
+ return bEverythingOK ;
+} /* Test_Recover_App1_InitialContent_From_App1 */
diff --git a/test/pers_svc_test/src/test_pas_recovery_User1.c b/test/pers_svc_test/src/test_pas_recovery_User1.c
new file mode 100644
index 0000000..4e53971
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_User1.c
@@ -0,0 +1,139 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// using a common backup content structure
+
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+expected_key_data_localDB_s expected_App1_key_data_after_restore_User1[24] =
+{
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")},
+};
+
+expected_file_data_s expected_App1_file_data_after_restore_User1[16] =
+{
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", false, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", false, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", false, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", false, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", false, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )}
+};
+//===================================================================================================================
+
+bool_t Test_Recover_User1(sint_t type, void* pv)
+{
+
+ bool_t bEverythingOK = true ;
+
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Reset the backup data for every test */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content..."));
+
+ bEverythingOK = ResetBackupContent(PersASSelectionType_User, NULL) ;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1: ResetBackupContent() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ bEverythingOK = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ 0x01,
+ PERSIST_SELECT_ALL_SEATS);
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_User1 */
diff --git a/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c
new file mode 100644
index 0000000..ad65054
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_User1InitialContent.c
@@ -0,0 +1,617 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+
+/**********************************************************************************************************************************************
+***************************************** public *******************************************************************************************
+*********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_public_init[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+};
+
+static entryDataInit_s dataKeysPublicInit[] = {};
+
+static entryDataInit_s dataFilesPublicInit[] = {};
+
+static dataInit_s sSharedPubDataInit =
+{
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init,
+ sizeof(RCT_public_init)/sizeof(RCT_public_init[0]),
+ dataKeysPublicInit,
+ sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]),
+ dataFilesPublicInit,
+ sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0])
+};
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_group10_init[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group10_Init[] = {};
+
+static entryDataInit_s dataFiles_Group10_Init[] = {};
+
+static dataInit_s sShared_Group10_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init,
+ sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]),
+ dataKeys_Group10_Init,
+ sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]),
+ dataFiles_Group10_Init,
+ sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group20_init[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group20_Init[] = {};
+
+static entryDataInit_s dataFiles_Group20_Init[] ={};
+
+static dataInit_s sShared_Group20_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init,
+ sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]),
+ dataKeys_Group20_Init,
+ sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]),
+ dataFiles_Group20_Init,
+ sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App1_init[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App1_Init[] = {} ;
+
+static entryDataInit_s dataFiles_App1_Init[] = {};
+
+static dataInit_s s_App1_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init,
+ sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]),
+ dataKeys_App1_Init,
+ sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]),
+ dataFiles_App1_Init,
+ sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App2_init[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App2_Init[] = {};
+
+static entryDataInit_s dataFiles_App2_Init[] = {};
+
+static dataInit_s s_App2_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init,
+ sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]),
+ dataKeys_App2_Init,
+ sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]),
+ dataFiles_App2_Init,
+ sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0])
+} ;
+
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// the backup content is obtained trough the backup process
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_User1_InitialContent[16 + 16 + 16 + 32+ 32] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+} ;
+
+expected_file_data_s expected_file_data_after_restore_User1_InitialContent[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt", sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+static bool_t EraseReferenceData(void)
+{
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ;
+
+ sint_t result = DeleteFolderContent(referenceDataPath) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubDataInit,
+ &sShared_Group10_DataInit,
+ &sShared_Group20_DataInit,
+ &s_App1_DataInit,
+ &s_App2_DataInit
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+
+bool_t Test_Recover_User1_InitialContent_From_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_All,
+ BACKUP_FOLDER,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ 0x01,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_All: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_User1_InitialContent_From_All */
+
+
+bool_t Test_Recover_User1_InitialContent_From_User1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_User,
+ BACKUP_FOLDER,
+ "",
+ 0x01,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: data_backup_create() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+
+ if(true == bEverythingOK)
+ {
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ 0x01,
+ PERSIST_SELECT_ALL_SEATS);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User1_InitialContent_From_User1: data_backup_recovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_User1_InitialContent_From_User1 */
diff --git a/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c b/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c
new file mode 100644
index 0000000..eea1d7e
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_User2Seat1InitialContent.c
@@ -0,0 +1,620 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+
+/**********************************************************************************************************************************************
+***************************************** public *******************************************************************************************
+*********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_public_init[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+};
+
+static entryDataInit_s dataKeysPublicInit[] = {};
+
+static entryDataInit_s dataFilesPublicInit[] = {};
+
+static dataInit_s sSharedPubDataInit =
+{
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_init,
+ sizeof(RCT_public_init)/sizeof(RCT_public_init[0]),
+ dataKeysPublicInit,
+ sizeof(dataKeysPublicInit)/sizeof(dataKeysPublicInit[0]),
+ dataFilesPublicInit,
+ sizeof(dataFilesPublicInit)/sizeof(dataFilesPublicInit[0])
+};
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+
+static entryRctInit_s RCT_group10_init[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group10_Init[] = {};
+
+static entryDataInit_s dataFiles_Group10_Init[] = {};
+
+static dataInit_s sShared_Group10_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_init,
+ sizeof(RCT_group10_init)/sizeof(RCT_group10_init[0]),
+ dataKeys_Group10_Init,
+ sizeof(dataKeys_Group10_Init)/sizeof(dataKeys_Group10_Init[0]),
+ dataFiles_Group10_Init,
+ sizeof(dataFiles_Group10_Init)/sizeof(dataFiles_Group10_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_group20_init[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_Group20_Init[] = {};
+
+static entryDataInit_s dataFiles_Group20_Init[] ={};
+
+static dataInit_s sShared_Group20_DataInit =
+{
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_init,
+ sizeof(RCT_group20_init)/sizeof(RCT_group20_init[0]),
+ dataKeys_Group20_Init,
+ sizeof(dataKeys_Group20_Init)/sizeof(dataKeys_Group20_Init[0]),
+ dataFiles_Group20_Init,
+ sizeof(dataFiles_Group20_Init)/sizeof(dataFiles_Group20_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App1_init[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App1_Init[] = {} ;
+
+static entryDataInit_s dataFiles_App1_Init[] = {};
+
+static dataInit_s s_App1_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_init,
+ sizeof(RCT_App1_init)/sizeof(RCT_App1_init[0]),
+ dataKeys_App1_Init,
+ sizeof(dataKeys_App1_Init)/sizeof(dataKeys_App1_Init[0]),
+ dataFiles_App1_Init,
+ sizeof(dataFiles_App1_Init)/sizeof(dataFiles_App1_Init[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+static entryRctInit_s RCT_App2_init[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+
+static entryDataInit_s dataKeys_App2_Init[] = {};
+
+static entryDataInit_s dataFiles_App2_Init[] = {};
+
+static dataInit_s s_App2_DataInit =
+{
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_init,
+ sizeof(RCT_App2_init)/sizeof(RCT_App2_init[0]),
+ dataKeys_App2_Init,
+ sizeof(dataKeys_App2_Init)/sizeof(dataKeys_App2_Init[0]),
+ dataFiles_App2_Init,
+ sizeof(dataFiles_App2_Init)/sizeof(dataFiles_App2_Init[0])
+} ;
+
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// the backup content is obtained trough the backup process
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_User2_Seat1_InitialContent[16 + 16 + 16 + 32+ 32] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")}
+} ;
+
+expected_file_data_s expected_file_data_after_restore_User2_Seat1_InitialContent[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+static bool_t EraseReferenceData(void)
+{
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = PERS_ORG_LOCAL_APP_CACHE_PATH_ ;
+
+ sint_t result = DeleteFolderContent(referenceDataPath) ;
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+
+ if(bEverythingOK)
+ {
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubDataInit,
+ &sShared_Group10_DataInit,
+ &sShared_Group20_DataInit,
+ &s_App1_DataInit,
+ &s_App2_DataInit
+ };
+
+ sint_t i = 0 ;
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+
+bool_t Test_Recover_User2_Seat1_InitialContent_From_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_All,
+ BACKUP_FOLDER,
+ "",
+ USER_DONT_CARE,
+ SEAT_DONT_CARE);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "all", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ 0x02,
+ 0x01);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_All: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_User2_Seat1_InitialContent_From_All */
+
+
+bool_t Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lTemp ;
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Create backup */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Create backup to : "),
+ DLT_STRING(BACKUP_FOLDER),
+ DLT_STRING("..."));
+ lTemp = persAdminDataBackupCreate( PersASSelectionType_User,
+ BACKUP_FOLDER,
+ "",
+ 0x02,
+ 0x01);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: persAdminDataBackupCreate() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ DeleteFolder(BACKUP_CONTENT_FOLDER);
+
+
+ /* Reset the destination content (except the RCT files) */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Erase reference data..."));
+
+ bEverythingOK = EraseReferenceData();
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: EraseReferenceData() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ lTemp = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ 0x02,
+ 0x01);
+ bEverythingOK = (lTemp >= 0) ? true : false ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+} /* Test_Recover_User2_Seat1_InitialContent_From_User2_Seat1 */
diff --git a/test/pers_svc_test/src/test_pas_recovery_Users.c b/test/pers_svc_test/src/test_pas_recovery_Users.c
new file mode 100644
index 0000000..ed50f24
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_Users.c
@@ -0,0 +1,298 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_backup_recovery.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+// using a common backup content structure
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_Users[23 + 24 + 24 + 24 + 22] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingK", sizeof("Data>>/pubSettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingL", sizeof("Data>>/pubSettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user1", sizeof("Data>>/pubSetting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user2", sizeof("Data>>/pubSetting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user3", sizeof("Data>>/pubSetting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/KBL::user4", sizeof("Data>>/pubSetting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/XYZ::user4", sizeof("Data>>/pubSetting/XYZ::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingK", sizeof("Data>>/gr10_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingL", sizeof("Data>>/gr10_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user1", sizeof("Data>>/gr10_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user2", sizeof("Data>>/gr10_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user3", sizeof("Data>>/gr10_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/KBL::user4", sizeof("Data>>/gr10_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_SettingZ", sizeof("Data>>/gr10_SettingZ")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/PRT::user4", sizeof("Data>>/gr10_Setting/PRT::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingK", sizeof("Data>>/gr20_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingL", sizeof("Data>>/gr20_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user1", sizeof("Data>>/gr20_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user2", sizeof("Data>>/gr20_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user3", sizeof("Data>>/gr20_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/KBL::user4", sizeof("Data>>/gr20_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_SettingZ", sizeof("Data>>/gr20_SettingZ")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/PRT::user4", sizeof("Data>>/gr20_Setting/PRT::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingK", sizeof("Data>>/App1_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingL", sizeof("Data>>/App1_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user1", sizeof("Data>>/App1_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user2", sizeof("Data>>/App1_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user3", sizeof("Data>>/App1_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/KBL::user4", sizeof("Data>>/App1_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KKK", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/KKK::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/XYZ", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/XYZ::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingK", sizeof("Data>>/App2_SettingK")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingL", sizeof("Data>>/App2_SettingL")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user1", sizeof("Data>>/App2_Setting/KBL::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user2", sizeof("Data>>/App2_Setting/KBL::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user3", sizeof("Data>>/App2_Setting/KBL::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/KBL::user4", sizeof("Data>>/App2_Setting/KBL::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+};
+
+
+expected_file_data_s expected_file_data_after_restore_Users[16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false,"File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false,"File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false,"File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", true, "File>>/docK.txt::user1" , sizeof("File>>/docK.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", true, "File>>/docK.txt::user2" , sizeof("File>>/docK.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", true, "File>>/docT.txt::user2" , sizeof("File>>/docT.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", true, "File>>/docK.txt::user3" , sizeof("File>>/docK.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", true, "File>>/docK.txt::user4" , sizeof("File>>/docK.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>/docC.txt::user2:seat4" , sizeof("File>>/docC.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>gr10_>>/docK.txt::user1" , sizeof("File>>gr10_>>/docK.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof("File>>gr10_>>/docK.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", true, "File>>gr10_>>/docK.txt::user2" , sizeof("File>>gr10_>>/docK.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>gr10_>>/docK.txt::user3" , sizeof("File>>gr10_>>/docK.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>gr10_>>/docK.txt::user4" , sizeof("File>>gr10_>>/docK.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", true, "File>>gr10_>>/docB.txt::user2:seat4" , sizeof("File>>gr10_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false,"File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false,"File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", true, "File>>App1>>/docK.txt::user1" , sizeof("File>>App1>>/docK.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", true, "File>>App1>>/docK.txt::user2" , sizeof("File>>App1>>/docK.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", true, "File>>App1>>/docK.txt::user3" , sizeof("File>>App1>>/docK.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", true, "File>>App1>>/docK.txt::user4" , sizeof("File>>App1>>/docK.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", true, "File>>App1>>/docC.txt::user2:seat4" , sizeof("File>>App1>>/docC.txt::user2:seat4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", true, "File>>App1>>/docD.txt::user2:seat4" , sizeof("File>>App1>>/docD.txt::user2:seat4" )}
+};
+//===================================================================================================================
+
+bool_t Test_Recover_Users(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+
+ str_t pchBackupFilePath [PATH_ABS_MAX_SIZE];
+
+ /* Reset the backup data for every test */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Reset backup content..."));
+
+ bEverythingOK = ResetBackupContent(PersASSelectionType_User, NULL);
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_Users: ResetBackupContent() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ if(true == bEverythingOK)
+ {
+ (void)snprintf(pchBackupFilePath, sizeof(pchBackupFilePath), "%s%s", "user", BACKUP_FORMAT);
+
+ /* Restore content */
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Restore backup from : "),
+ DLT_STRING(pchBackupFilePath),
+ DLT_STRING("..."));
+
+ bEverythingOK = persAdminDataBackupRecovery( PersASSelectionType_User,
+ pchBackupFilePath,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Test_Recover_Users: persAdminDataBackupRecovery() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ }
+
+ return bEverythingOK ;
+
+} /* Test_Recover_Users */
diff --git a/test/pers_svc_test/src/test_pas_recovery_backup_content.c b/test/pers_svc_test/src/test_pas_recovery_backup_content.c
new file mode 100644
index 0000000..93fb025
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_recovery_backup_content.c
@@ -0,0 +1,886 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "persistence_admin_service.h"
+#include "test_PAS.h"
+#include "test_pas_data_backup_recovery.h"
+
+/* compress/uncompress */
+#include "archive.h"
+#include "archive_entry.h"
+
+#define READ_BUFFER_LENGTH (16384)
+
+#define PATH_ABS_MAX_SIZE ( 512)
+
+#define BACKUP_FORMAT (".arch.tar.gz")
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom) ;
+
+//===================================================================================================================
+// BACKUP CONTENT
+//===================================================================================================================
+entryRctInit_s RCT_public_backup_content[] =
+{
+ {"pubSettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+} ;
+
+
+entryDataInit_s dataKeysPublic_backup_content[] =
+{
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingK", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingK"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PersistencePolicy_wt, 2, 1, "Data>>/pubSettingB::user2::seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PersistencePolicy_wt, 2, 2, "Data>>/pubSettingB::user2:seat2"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingL", PersistencePolicy_wt, 0, 0, "Data>>/pubSettingL"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/pubSetting/KBL::user1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/pubSetting/KBL::user2"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/pubSetting/KBL::user3"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/pubSetting/KBL::user4"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingD"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PersistencePolicy_wc, 2, 1, "Data>>/pubSettingE::user2:seat1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PersistencePolicy_wc, 2, 2, "Data>>/pubSettingE::user2:seat2"},
+ {0, PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PersistencePolicy_wc, 0, 0, "Data>>/pubSettingF"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user1"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/pubSetting/DEF::user2"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/pubSetting/DEF::user3"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/DEF::user4"},
+ {0, PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/XYZ", PersistencePolicy_wc, 4, 0, "Data>>/pubSetting/XYZ::user4"}
+} ;
+
+
+entryDataInit_s dataFilesPublic_mnt_c_backup_content[] =
+{
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFilesPublic_mnt_wt_backup_content[] =
+{
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>/doc1.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>/Docs/doc2.txt"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>/docK.txt::user1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>/docK.txt::user2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>/docT.txt::user2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>/docK.txt::user3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>/docK.txt::user4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>/docB.txt::user2:seat1"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>/docB.txt::user2:seat2"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>/docB.txt::user2:seat3"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>/docB.txt::user2:seat4"},
+ {0, BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>/docC.txt::user2:seat4"}
+};
+
+
+dataInit_s sSharedPubData_mnt_c_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ ,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_backup_content,
+ sizeof(RCT_public_backup_content)/sizeof(RCT_public_backup_content[0]),
+ dataKeysPublic_backup_content,
+ sizeof(dataKeysPublic_backup_content)/sizeof(dataKeysPublic_backup_content[0]),
+ dataFilesPublic_mnt_c_backup_content,
+ sizeof(dataFilesPublic_mnt_c_backup_content)/sizeof(dataFilesPublic_mnt_c_backup_content[0])
+} ;
+
+dataInit_s sSharedPubData_mnt_wt_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ ,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_public_backup_content,
+ sizeof(RCT_public_backup_content)/sizeof(RCT_public_backup_content[0]),
+ dataKeysPublic_backup_content,
+ sizeof(dataKeysPublic_backup_content)/sizeof(dataKeysPublic_backup_content[0]),
+ dataFilesPublic_mnt_wt_backup_content,
+ sizeof(dataFilesPublic_mnt_wt_backup_content)/sizeof(dataFilesPublic_mnt_wt_backup_content[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+entryRctInit_s RCT_group10_backup_content[] =
+{
+ {"gr10_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}
+} ;
+
+
+entryDataInit_s dataKeys_group10_backup_content[] =
+{
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingK"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr10_SettingB::user2::seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr10_SettingB::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr10_SettingL"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr10_Setting/KBL::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr10_Setting/KBL::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr10_Setting/KBL::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr10_Setting/KBL::user4"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingD"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingZ"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr10_SettingE::user2:seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr10_SettingE::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr10_SettingF"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr10_Setting/DEF::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr10_Setting/DEF::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr10_Setting/DEF::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/DEF::user4"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr10_Setting/PRT::user4"}
+} ;
+
+
+entryDataInit_s dataFiles_group10_mnt_c_backup_content[] =
+{
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_2.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"}
+};
+
+
+entryDataInit_s dataFiles_group10_mnt_wt_backup_content[] =
+{
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/gr10_1.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_2.txt", PersistencePolicy_wt, 0, 0, "File>>gr10_>>/Docs/gr10_2.txt"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr10_>>/docK.txt::user1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/docT.txt", PersistencePolicy_wc, 2, 0, "File>>gr10_>>/docK.txt::user2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr10_>>/docK.txt::user3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr10_>>/docK.txt::user4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 1, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 2, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 3, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4"},
+ {0x10, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docT.txt", PersistencePolicy_wc, 2, 4, "File>>gr10_>>/docB.txt::user2:seat4"}
+};
+
+dataInit_s sShared_Group10_Data_mnt_c_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_backup_content,
+ sizeof(RCT_group10_backup_content)/sizeof(RCT_group10_backup_content[0]),
+ dataKeys_group10_backup_content,
+ sizeof(dataKeys_group10_backup_content)/sizeof(dataKeys_group10_backup_content[0]),
+ dataFiles_group10_mnt_c_backup_content,
+ sizeof(dataFiles_group10_mnt_c_backup_content)/sizeof(dataFiles_group10_mnt_c_backup_content[0])
+} ;
+
+
+dataInit_s sShared_Group10_Data_mnt_wt_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group10_backup_content,
+ sizeof(RCT_group10_backup_content)/sizeof(RCT_group10_backup_content[0]),
+ dataKeys_group10_backup_content,
+ sizeof(dataKeys_group10_backup_content)/sizeof(dataKeys_group10_backup_content[0]),
+ dataFiles_group10_mnt_wt_backup_content,
+ sizeof(dataFiles_group10_mnt_wt_backup_content)/sizeof(dataFiles_group10_mnt_wt_backup_content[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+entryRctInit_s RCT_group20_backup_content[] =
+{
+ {"gr20_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"gr20_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_shared, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"}, {NIL},{NIL}}}
+} ;
+
+
+entryDataInit_s dataKeys_group20_backup_content[] =
+{
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingK"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/gr20_SettingB::user2::seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/gr20_SettingB::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/gr20_SettingL"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/gr20_Setting/KBL::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/gr20_Setting/KBL::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/gr20_Setting/KBL::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/gr20_Setting/KBL::user4"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingD"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingZ", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingZ"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/gr20_SettingE::user2:seat1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/gr20_SettingE::user2:seat2"},
+ {0x10, PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/gr20_SettingF"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/gr20_Setting/DEF::user1"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/gr20_Setting/DEF::user2"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/gr20_Setting/DEF::user3"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/DEF::user4"},
+ {0x10, PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/PRT", PersistencePolicy_wc, 4, 0, "Data>>/gr20_Setting/PRT::user4"}
+} ;
+
+entryDataInit_s dataFiles_group20_mnt_c_backup_content[] =
+{
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"}
+};
+
+entryDataInit_s dataFiles_group20_mnt_wt_backup_content[] =
+{
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/doc1.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>gr20_>>/Docs/doc2.txt"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>gr20_>>/docK.txt::user1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>gr20_>>/docK.txt::user2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>gr20_>>/docK.txt::user3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>gr20_>>/docK.txt::user4"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>gr20_>>/docB.txt::user2:seat1"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>gr20_>>/docB.txt::user2:seat2"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>gr20_>>/docB.txt::user2:seat3"},
+ {0x20, BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>gr20_>>/docB.txt::user2:seat4"}
+};
+
+dataInit_s sShared_Group20_Data_mnt_c_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_CACHE_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_backup_content,
+ sizeof(RCT_group20_backup_content)/sizeof(RCT_group20_backup_content[0]),
+ dataKeys_group20_backup_content,
+ sizeof(dataKeys_group20_backup_content)/sizeof(dataKeys_group20_backup_content[0]),
+ dataFiles_group20_mnt_c_backup_content,
+ sizeof(dataFiles_group20_mnt_c_backup_content)/sizeof(dataFiles_group20_mnt_c_backup_content[0])
+} ;
+
+
+dataInit_s sShared_Group20_Data_mnt_wt_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/",
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_group20_backup_content,
+ sizeof(RCT_group20_backup_content)/sizeof(RCT_group20_backup_content[0]),
+ dataKeys_group20_backup_content,
+ sizeof(dataKeys_group20_backup_content)/sizeof(dataKeys_group20_backup_content[0]),
+ dataFiles_group20_mnt_wt_backup_content,
+ sizeof(dataFiles_group20_mnt_wt_backup_content)/sizeof(dataFiles_group20_mnt_wt_backup_content[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+entryRctInit_s RCT_App1_backup_content[] =
+{
+ {"App1_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+} ;
+
+
+entryDataInit_s dataKeys_App1_backup_content[] =
+{
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingK"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App1_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App1_SettingB::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App1_SettingL"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App1_Setting/KBL::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App1_Setting/KBL::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App1_Setting/KBL::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App1_Setting/KBL::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App1_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App1_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App1_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App1_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App1_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App1_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App1_Setting/DEF::user4"}
+} ;
+
+entryDataInit_s dataFiles_App1_mnt_c_backup_content[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"}
+};
+
+
+entryDataInit_s dataFiles_App1_mnt_wt_backup_content[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App1>>/Docs/doc2.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App1>>/docK.txt::user1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App1>>/docK.txt::user2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App1>>/docK.txt::user3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App1>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App1>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App1>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App1>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docB.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docC.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App1>>/docD.txt::user2:seat4"}
+};
+
+
+dataInit_s s_App1_Data_mnt_c_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_backup_content,
+ sizeof(RCT_App1_backup_content)/sizeof(RCT_App1_backup_content[0]),
+ dataKeys_App1_backup_content,
+ sizeof(dataKeys_App1_backup_content)/sizeof(dataKeys_App1_backup_content[0]),
+ dataFiles_App1_mnt_c_backup_content,
+ sizeof(dataFiles_App1_mnt_c_backup_content)/sizeof(dataFiles_App1_mnt_c_backup_content[0])
+};
+
+
+dataInit_s s_App1_Data_mnt_wt_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App1_backup_content,
+ sizeof(RCT_App1_backup_content)/sizeof(RCT_App1_backup_content[0]),
+ dataKeys_App1_backup_content,
+ sizeof(dataKeys_App1_backup_content)/sizeof(dataKeys_App1_backup_content[0]),
+ dataFiles_App1_mnt_wt_backup_content,
+ sizeof(dataFiles_App1_mnt_wt_backup_content)/sizeof(dataFiles_App1_mnt_wt_backup_content[0])
+} ;
+
+/**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+entryRctInit_s RCT_App2_backup_content[] =
+{
+ {"App2_SettingA", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingB", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/ABC", true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingD", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingE", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_SettingF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"App2_Setting/DEF", true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"doc1.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", false, {PersistencePolicy_wt, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"docA.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App2"}, {NIL},{NIL}}}
+} ;
+
+
+entryDataInit_s dataKeys_App2_backup_content[] =
+{
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingK", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingK"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PersistencePolicy_wt, 2, 1, "Data>>/App2_SettingB::user2::seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PersistencePolicy_wt, 2, 2, "Data>>/App2_SettingB::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingL", PersistencePolicy_wt, 0, 0, "Data>>/App2_SettingL"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/KBL", PersistencePolicy_wt, 1, 0, "Data>>/App2_Setting/KBL::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/KBL", PersistencePolicy_wt, 2, 0, "Data>>/App2_Setting/KBL::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/KBL", PersistencePolicy_wt, 3, 0, "Data>>/App2_Setting/KBL::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/KBL", PersistencePolicy_wt, 4, 0, "Data>>/App2_Setting/KBL::user4"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingD"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PersistencePolicy_wc, 2, 1, "Data>>/App2_SettingE::user2:seat1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PersistencePolicy_wc, 2, 2, "Data>>/App2_SettingE::user2:seat2"},
+ {0xFF, PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PersistencePolicy_wc, 0, 0, "Data>>/App2_SettingF"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PersistencePolicy_wc, 1, 0, "Data>>/App2_Setting/DEF::user1"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PersistencePolicy_wc, 2, 0, "Data>>/App2_Setting/DEF::user2"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PersistencePolicy_wc, 3, 0, "Data>>/App2_Setting/DEF::user3"},
+ {0xFF, PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PersistencePolicy_wc, 4, 0, "Data>>/App2_Setting/DEF::user4"}
+} ;
+
+
+entryDataInit_s dataFiles_App2_mnt_c_backup_content[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::userC:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::userC:seat4"}
+};
+
+
+entryDataInit_s dataFiles_App2_mnt_wt_backup_content[] =
+{
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/doc1.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", PersistencePolicy_wt, 0, 0, "File>>App2>>/Docs/doc2.txt"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docK.txt", PersistencePolicy_wc, 1, 0, "File>>App2>>/docK.txt::user1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docK.txt", PersistencePolicy_wc, 2, 0, "File>>App2>>/docK.txt::user2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docK.txt", PersistencePolicy_wc, 3, 0, "File>>App2>>/docK.txt::user3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docK.txt", PersistencePolicy_wc, 4, 0, "File>>App2>>/docK.txt::user4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", PersistencePolicy_wc, 2, 1, "File>>App2>>/docB.txt::user2:seat1"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", PersistencePolicy_wc, 2, 2, "File>>App2>>/docB.txt::user2:seat2"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", PersistencePolicy_wc, 2, 3, "File>>App2>>/docB.txt::user2:seat3"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docB.txt::user2:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docC.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docC.txt::userC:seat4"},
+ {0xFF, BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docD.txt", PersistencePolicy_wc, 2, 4, "File>>App2>>/docD.txt::userC:seat4"}
+};
+
+
+dataInit_s s_App2_Data_mnt_c_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_backup_content,
+ sizeof(RCT_App2_backup_content)/sizeof(RCT_App2_backup_content[0]),
+ dataKeys_App2_backup_content,
+ sizeof(dataKeys_App2_backup_content)/sizeof(dataKeys_App2_backup_content[0]),
+ dataFiles_App2_mnt_c_backup_content,
+ sizeof(dataFiles_App2_mnt_c_backup_content)/sizeof(dataFiles_App2_mnt_c_backup_content[0])
+};
+
+
+dataInit_s s_App2_Data_mnt_wt_backup_content =
+{
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/",
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_RCT_NAME,
+ dbType_RCT,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_SHARED_WT_DB_NAME,
+ dbType_local,
+ BACKUP_FOLDER PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_SHARED_CACHE_DB_NAME,
+ dbType_local,
+ RCT_App2_backup_content,
+ sizeof(RCT_App2_backup_content)/sizeof(RCT_App2_backup_content[0]),
+ dataKeys_App2_backup_content,
+ sizeof(dataKeys_App2_backup_content)/sizeof(dataKeys_App2_backup_content[0]),
+ dataFiles_App2_mnt_wt_backup_content,
+ sizeof(dataFiles_App2_mnt_wt_backup_content)/sizeof(dataFiles_App2_mnt_wt_backup_content[0])
+};
+
+//reset backup content
+bool_t ResetBackupContent(PersASSelectionType_e type, char* applicationID)
+{
+ sint_t sResult = 0;
+ bool_t bEverythingOK = true ;
+ pstr_t referenceDataPath = BACKUP_CONTENT_FOLDER;
+
+ str_t pchPathCompressTo [PATH_ABS_MAX_SIZE];
+ str_t pchPathCompressFrom [PATH_ABS_MAX_SIZE];
+
+ DeleteFolder(referenceDataPath);
+
+ // the current implementation performs the restore process twice due to the
+ // fact that the backup generates a mirrored content (for mnt-c and mnt-wt)
+
+ if(bEverythingOK)
+ {
+ sint_t i = 0 ;
+
+ // mnt_c
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubData_mnt_c_backup_content,
+ &sShared_Group10_Data_mnt_c_backup_content,
+ &sShared_Group20_Data_mnt_c_backup_content,
+ &s_App1_Data_mnt_c_backup_content,
+ &s_App2_Data_mnt_c_backup_content
+ };
+
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ if(bEverythingOK)
+ {
+ sint_t i = 0 ;
+
+ // mnt_wt
+ dataInit_s* sDataInit[] =
+ {
+ &sSharedPubData_mnt_wt_backup_content,
+ &sShared_Group10_Data_mnt_wt_backup_content,
+ &sShared_Group20_Data_mnt_wt_backup_content,
+ &s_App1_Data_mnt_wt_backup_content,
+ &s_App2_Data_mnt_wt_backup_content
+ };
+
+ for(i = 0 ; i < sizeof(sDataInit)/sizeof(sDataInit[0]) ; i++)
+ {
+ if(! InitDataFolder(sDataInit[i]))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ }
+
+ /* compress the source folder and delete it afterwards */
+ (void)snprintf(pchPathCompressFrom, sizeof(pchPathCompressFrom), "%s", BACKUP_CONTENT_FOLDER);
+
+ /* create the tar name; */
+ switch( type )
+ {
+ case PersASSelectionType_Application:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, applicationID, BACKUP_FORMAT);
+ break;
+ }
+ case PersASSelectionType_User:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "user", BACKUP_FORMAT);
+ break;
+ }
+ case PersASSelectionType_All:
+ {
+ (void)snprintf(pchPathCompressTo, sizeof(pchPathCompressTo), "%s%s%s", BACKUP_FOLDER_, "all", BACKUP_FORMAT);
+ break;
+ }
+ default:
+ {
+ bEverythingOK = false;
+ /* nothing to do */
+ break;
+ }
+ }
+
+ if(true == bEverythingOK)
+ {
+ /* return 0 for success, negative value otherwise; */
+ sResult = persadmin_compress(pchPathCompressTo, pchPathCompressFrom);
+ if( 0 > sResult )
+ {
+ bEverythingOK = false;
+ }
+
+ /* remove the initial folder content */
+ DeleteFolder(referenceDataPath);
+ }
+
+ return bEverythingOK ;
+}
+
+
+/**
+ * @brief Saves files together into a single archive.
+ * @usage persadmin_compress("/path/to/compress/to/archive_name.tgz", "/path/from/where/to/compress")
+ * @return 0 for success, negative value otherwise.
+ */
+static sint_t persadmin_compress(pstr_t compressTo, pstr_t compressFrom)
+{
+ uint8_t buffer [READ_BUFFER_LENGTH];
+ str_t pchParentPath [PATH_ABS_MAX_SIZE];
+ pstr_t pchStrPos = NIL;
+ struct archive *psArchive = NIL;
+ struct archive *psDisk = NIL;
+ struct archive_entry *psEntry = NIL;
+ sint_t s32Result = ARCHIVE_OK;
+ sint_t s32Length = 0;
+ sint_t fd;
+ sint_t s32ParentPathLength = 0;
+
+
+ if( (NIL == compressTo) ||
+ (NIL == compressFrom) )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - invalid parameters \n");
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ printf("persadmin_compress - create <%s> from <%s>\n", compressTo, compressFrom);
+ psArchive = archive_write_new();
+ if( NIL == psArchive )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - archive_write_new ERR\n");
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ /* this in turn calls archive_write_add_filter_gzip; */
+ s32Result = archive_write_set_compression_gzip(psArchive);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_write_set_compression_gzip ERR %d\n", s32Result);
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ /* portable archive exchange; */
+ archive_write_set_format_pax(psArchive);
+ compressTo = (strcmp(compressTo, "-") == 0) ? NIL : compressTo;
+ s32Result = archive_write_open_filename(psArchive, compressTo);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_write_open_filename ERR %d\n", s32Result);
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ psDisk = archive_read_disk_new();
+ if( NIL == psDisk )
+ {
+ s32Result = ARCHIVE_FAILED;
+ printf("persadmin_compress - archive_read_disk_new ERR\n");
+ }
+ }
+
+ if( ARCHIVE_OK == s32Result )
+ {
+ archive_read_disk_set_standard_lookup(psDisk);
+ s32Result = archive_read_disk_open(psDisk, compressFrom);
+ if( ARCHIVE_OK != s32Result )
+ {
+ printf("persadmin_compress - archive_read_disk_new ERR %s\n", archive_error_string(psDisk));
+ }
+ }
+
+ memset(pchParentPath, 0, sizeof(pchParentPath));
+ snprintf(pchParentPath, sizeof(pchParentPath), compressFrom);
+ pchStrPos = strrchr(pchParentPath, '/');
+ if(NIL != pchStrPos)
+ {
+ *pchStrPos = '\0';
+ }
+ s32ParentPathLength = strlen(pchParentPath);
+
+
+ while( ARCHIVE_OK == s32Result )
+ {
+ psEntry = archive_entry_new();
+ s32Result = archive_read_next_header2(psDisk, psEntry);
+
+ switch( s32Result )
+ {
+ case ARCHIVE_EOF:
+ {
+ /* nothing else to do; */
+ break;
+ }
+ case ARCHIVE_OK:
+ {
+ str_t pstrTemp[PATH_ABS_MAX_SIZE];
+ pstr_t p = archive_entry_pathname(psEntry);
+ if(NIL != p)
+ {
+ /* remove parent section and save relative pathnames */
+ memset(pstrTemp, 0, sizeof(pstrTemp));
+ snprintf(pstrTemp, sizeof(pstrTemp), "%s", p + (s32ParentPathLength + 1));
+ archive_entry_copy_pathname(psEntry, pstrTemp);
+ }
+
+ archive_read_disk_descend(psDisk);
+ s32Result = archive_write_header(psArchive, psEntry);
+ if( ARCHIVE_OK > s32Result)
+ {
+ printf("persadmin_compress - archive_write_header ERR %s\n", archive_error_string(psArchive));
+ }
+ if( ARCHIVE_FATAL == s32Result )
+ {
+ /* exit; */
+ printf("persadmin_compress - archive_write_header ERR FATAL\n");
+ }
+ if( ARCHIVE_FAILED < s32Result )
+ {
+#if 0
+ /* Ideally, we would be able to use
+ * the same code to copy a body from
+ * an archive_read_disk to an
+ * archive_write that we use for
+ * copying data from an archive_read
+ * to an archive_write_disk.
+ * Unfortunately, this doesn't quite
+ * work yet. */
+ persadmin_copy_data(psDisk, psArchive);
+#else
+
+ /* For now, we use a simpler loop to copy data
+ * into the target archive. */
+ fd = open(archive_entry_sourcepath(psEntry), O_RDONLY);
+ s32Length = read(fd, buffer, READ_BUFFER_LENGTH);
+ while( s32Length > 0 )
+ {
+ archive_write_data(psArchive, buffer, s32Length);
+ s32Length = read(fd, buffer, READ_BUFFER_LENGTH);
+ }
+ close(fd);
+#endif
+ }
+
+ break;
+ }
+ default:
+ {
+ printf("persadmin_compress - archive_read_next_header2 ERR %s\n", archive_error_string(psDisk));
+ /* exit; */
+ break;
+ }
+ }
+
+ if( NIL != psEntry )
+ {
+ archive_entry_free(psEntry);
+ }
+ }
+
+ /* perform cleaning operations; */
+ if( NIL != psDisk )
+ {
+ archive_read_close(psDisk);
+ archive_read_free(psDisk);
+ }
+
+ if( NIL != psArchive )
+ {
+ archive_write_close(psArchive);
+ archive_write_free(psArchive);
+ }
+
+ /* overwrite result; */
+ s32Result = (s32Result == ARCHIVE_EOF) ? ARCHIVE_OK : s32Result;
+ /* return result; */
+ return s32Result;
+
+} /* persadmin_compress() */
+
+
+
diff --git a/test/pers_svc_test/src/test_pas_resource_config_add.c b/test/pers_svc_test/src/test_pas_resource_config_add.c
new file mode 100644
index 0000000..29dd2d8
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_resource_config_add.c
@@ -0,0 +1,729 @@
+/********************************************************************************************************************* * * Copyright (C) 2012 Continental Automotive Systems, Inc. * * Author: Petrica.Manoila@continental-corporation.com * * Implementation of backup process * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Date Author Reason * 2012.11.27 uidu0250 CSP_WZ#1280: Initial version * **********************************************************************************************************************/ #include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include "dlt/dlt.h"
+
+#include "persistence_admin_service.h"
+#include "test_PAS.h"
+#include "test_pas_resource_config_add.h"
+
+#include "persComDbAccess.h"
+
+#define File_t PersistenceResourceType_file
+#define Key_t PersistenceResourceType_key
+
+/* L&T context */
+#define LT_HDR "TEST_PAS_CONF >> "
+DLT_IMPORT_CONTEXT (persAdminSvcDLTCtx)
+static char g_msg[512] ;
+
+
+#define RESOURCE_PATH "/tmp/var/resourceConfig"
+#define RESOURCE_PATH_ RESOURCE_PATH"/"
+
+#define RESOURCE_ARCHIVE_PATHNAME_1 "/tmp/PAS/resource1.tar.gz"
+#define RESOURCE_ARCHIVE_PATHNAME_2 "/tmp/PAS/resource2.tar.gz"
+
+/**********************************************************************************************************************************************
+ *********************************************** Expected - public *****************************************************************************
+ *********************************************************************************************************************************************/
+expected_key_data_RCT_s expected_RCT_public[13] =
+{
+ //pubSettingA changed policy (wt -> wc)
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingB", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingC", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ //pubSettingE changed policy (wc -> wt)
+ {"pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ //pubSettingF removed
+ {"pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ //new_pubSetting_1 added
+ {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"doc1.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"docA.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}},
+ {"Docs/docB.txt", PERS_ORG_SHARED_PUBLIC_CACHE_PATH"/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_shared,File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"public"}, {NIL},{NIL}}}
+} ;
+
+/* data after phase 1 */
+expected_key_data_localDB_s expectedKeyData_public[29] =
+{
+ //pubSettingA changed policy (wt -> wc)
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, false,
+ "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : pubSettingA : orig", sizeof("FactoryDefault : pubSettingA : orig")},
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true,
+ "ConfigurableDefault : pubSettingA : orig", sizeof("ConfigurableDefault : pubSettingA : orig")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ //added factory default value in config file
+ {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : pubSettingB : new", sizeof("FactoryDefault : pubSettingB : new")},
+
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : pubSetting/ABC : orig", sizeof("FactoryDefault : pubSetting/ABC : orig")},
+ #if 0 //configurable-default values changed by config file
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true,
+ "ConfigurableDefault : pubSetting/ABC : orig", sizeof("ConfigurableDefault : pubSetting/ABC : orig")},
+ #endif
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true,
+ "ConfigurableDefault : pubSetting/ABC : new", sizeof("ConfigurableDefault : pubSetting/ABC : new")},
+
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ #if 0 //factory-default value changed by config file
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : pubSettingD : orig", sizeof("FactoryDefault : pubSettingD : orig")},
+ #endif
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : pubSettingD : new", sizeof("FactoryDefault : pubSettingD : new")},
+ //configurable-default value added by config file
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true,
+ "ConfigurableDefault : pubSettingD : new", sizeof("ConfigurableDefault : pubSettingD : new")},
+
+ //pubSettingE changed policy (wc -> wt)
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false,
+ "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false,
+ "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+
+ //pubSettingF removed
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_, false,
+ "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, false,
+ "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+ //new_pubSetting_1 - added factory-default value in config file
+ {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME, true,
+ "FactoryDefault : new_pubSetting_1 : new", sizeof("FactoryDefault : new_pubSetting_1 : new")},
+ //new_pubSetting_1 - added configurable-default value in config file
+ {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, true,
+ "ConfigurableDefault : new_pubSetting_1 : new", sizeof("ConfigurableDefault : new_pubSetting_1 : new")}
+} ;
+
+
+/* data after phase 2 - uninstall non-default data (pubSettingB excepted) */
+expected_key_data_localDB_s expectedKeyData_public_phase2[29] =
+{
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME,
+ true, "FactoryDefault : pubSettingA : orig", sizeof("FactoryDefault : pubSettingA : orig")},
+ {"pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME,
+ true, "ConfigurableDefault : pubSettingA : orig", sizeof("ConfigurableDefault : pubSettingA : orig")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ {"pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME,
+ true, "FactoryDefault : pubSettingB : new", sizeof("FactoryDefault : pubSettingB : new")},
+
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME,
+ true, "FactoryDefault : pubSetting/ABC : orig", sizeof("FactoryDefault : pubSetting/ABC : orig")},
+
+ {"pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME,
+ true, "ConfigurableDefault : pubSetting/ABC : new", sizeof("ConfigurableDefault : pubSetting/ABC : new")},
+
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME,
+ true, "FactoryDefault : pubSettingD : new", sizeof("FactoryDefault : pubSettingD : new")},
+ {"pubSettingD", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME,
+ true, "ConfigurableDefault : pubSettingD : new", sizeof("ConfigurableDefault : pubSettingD : new")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_WT_DB_NAME_,
+ false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+
+ {PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_WT_PATH""PERS_ORG_LOCAL_CACHE_DB_NAME_,
+ false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+ {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME,
+ true, "FactoryDefault : new_pubSetting_1 : new", sizeof("FactoryDefault : new_pubSetting_1 : new")},
+ {"new_pubSetting_1", PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME,
+ true, "ConfigurableDefault : new_pubSetting_1 : new", sizeof("ConfigurableDefault : new_pubSetting_1 : new")}
+};
+
+expected_file_data_s expectedFileData_public[18] =
+{
+/* factory-default - installed via config */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt factory-default", sizeof("File>>/doc1.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt factory-default", sizeof("File>>/docA.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt factory-default", sizeof("File>>/Docs/doc2.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt factory-default", sizeof("File>>/Docs/docB.txt factory-default")-1},
+/* configurable-default - installed via config */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt configurable-default", sizeof("File>>/doc1.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt configurable-default", sizeof("File>>/docA.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt configurable-default", sizeof("File>>/Docs/doc2.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt configurable-default", sizeof("File>>/Docs/docB.txt configurable-default")-1},
+/* non-default - pre-installed */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt", sizeof("File>>/doc1.txt")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")}
+};
+
+/* data after phase 2 - uninstall non-default data (docA.txt excepted) */
+expected_file_data_s expectedFileData_public_phase2[18] =
+{
+/* factory-default - installed via config */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt factory-default", sizeof("File>>/doc1.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt factory-default", sizeof("File>>/docA.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt factory-default", sizeof("File>>/Docs/doc2.txt factory-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt factory-default", sizeof("File>>/Docs/docB.txt factory-default")-1},
+/* configurable-default - installed via config */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""doc1.txt", true, "File>>/doc1.txt configurable-default", sizeof("File>>/doc1.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""docA.txt", true, "File>>/docA.txt configurable-default", sizeof("File>>/docA.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/doc2.txt", true, "File>>/Docs/doc2.txt configurable-default", sizeof("File>>/Docs/doc2.txt configurable-default")-1},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME"/""Docs/docB.txt", true, "File>>/Docs/docB.txt configurable-default", sizeof("File>>/Docs/docB.txt configurable-default")-1},
+/* non-default - pre-installed */
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""doc1.txt", false,"File>>/doc1.txt", sizeof("File>>/doc1.txt")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_NODE_FOLDER_NAME"/""Docs/doc2.txt", false,"File>>/Docs/doc2.txt", sizeof("File>>/Docs/doc2.txt")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1", sizeof("File>>/docA.txt::user1")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2", sizeof("File>>/docA.txt::user2")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3", sizeof("File>>/docA.txt::user3")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4", sizeof("File>>/docA.txt::user4")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>/docB.txt::user2:seat1", sizeof("File>>/docB.txt::user2:seat1")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,"File>>/docB.txt::user2:seat2", sizeof("File>>/docB.txt::user2:seat2")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,"File>>/docB.txt::user2:seat3", sizeof("File>>/docB.txt::user2:seat3")},
+ {PERS_ORG_SHARED_PUBLIC_WT_PATH"/"PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,"File>>/docB.txt::user2:seat4", sizeof("File>>/docB.txt::user2:seat4")}
+};
+
+/**********************************************************************************************************************************************
+ *********************************************** Expected - group/10 *****************************************************************************
+ *********************************************************************************************************************************************/
+expected_key_data_RCT_s expected_RCT_group_10[12] =
+{
+ {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_A.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"gr10_2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}},
+ {"Docs/gr10_B.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group10"}, {NIL},{NIL}}}
+} ;
+
+expected_key_data_localDB_s expectedKeyData_group_10[24] =
+{
+/* non-default data : pre-installed */
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ //no longer in - deleted by installException
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, false,
+ "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ {PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ {PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+/* factory-default data : pre-installed */
+ //not updated because factory-default data not available in config file
+ {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "FactoryDefault : gr10_SettingA : orig", sizeof("FactoryDefault : gr10_SettingA : orig")},
+ {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "FactoryDefault : gr10_SettingB : orig", sizeof("FactoryDefault : gr10_SettingB : orig")},
+ //deleted by config file
+ {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, false,
+ "FactoryDefault : gr10_SettingC : orig", sizeof("FactoryDefault : gr10_SettingC : orig")},
+ {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "FactoryDefault : gr10_Setting/ABC : orig", sizeof("FactoryDefault : gr10_Setting/ABC : orig")},
+/* configurable-default data : pre-installed */
+ #if 0 //updated by config file
+ {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "ConfigurableDefault : gr10_SettingA : orig", sizeof("ConfigurableDefault : gr10_SettingA : orig")},
+ #endif
+ {"gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "ConfigurableDefault : gr10_SettingA : new", sizeof("ConfigurableDefault : gr10_SettingA : new")},
+ {"gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "ConfigurableDefault : gr10_SettingB : orig", sizeof("ConfigurableDefault : gr10_SettingB : orig")},
+ //deleted by config file
+ {"gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false,
+ "ConfigurableDefault : gr10_SettingC : orig", sizeof("ConfigurableDefault : gr10_SettingC : orig")},
+ {"gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "ConfigurableDefault : gr10_Setting/ABC : orig", sizeof("ConfigurableDefault : gr10_Setting/ABC : orig")}
+} ;
+
+expected_file_data_s expectedFileData_group_10[18] =
+{
+/* pre-installed */
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt", sizeof("File>>gr10_>>/gr10_1.txt")},
+ #if 0 //updated by config file
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt", sizeof("File>>gr10_>>/Docs/gr10_A.txt")},
+ #endif
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false,"File>>gr10_>>/Docs/gr10_A.txt", sizeof("File>>gr10_>>/Docs/gr10_A.txt")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1", sizeof("File>>gr10_>>/gr10_2.txt::user1")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2", sizeof("File>>gr10_>>/gr10_2.txt::user2")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3", sizeof("File>>gr10_>>/gr10_2.txt::user3")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4", sizeof("File>>gr10_>>/gr10_2.txt::user4")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4", sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4")},
+
+ /* factory-default data */
+ #if 0 //updated by config file
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt factory-default : orig", sizeof("File>>gr10_>>/gr10_1.txt factory-default : orig")},
+ #endif
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt factory-default : new", sizeof("File>>gr10_>>/gr10_1.txt factory-default : new")},
+ //deleted by config file
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt factory-default : orig", sizeof("File>>gr10_>>/Docs/gr10_A.txt factory-default : orig")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt factory-default : orig", sizeof("File>>gr10_>>/gr10_2.txt factory-default : orig")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt factory-default : orig", sizeof("File>>gr10_>>/Docs/gr10_B.txt factory-default : orig")},
+ /* configurable-default data */
+ #if 0 //updated by config file
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt configurable-default : orig", sizeof("File>>gr10_>>/gr10_1.txt configurable-default : orig")},
+ #endif
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt configurable-default : new", sizeof("File>>gr10_>>/gr10_1.txt configurable-default : new")},
+ //deleted by config file
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_A.txt", false,"File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig", sizeof("File>>gr10_>>/Docs/gr10_A.txt configurable-default : orig")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt configurable-default : orig", sizeof("File>>gr10_>>/gr10_2.txt configurable-default : orig")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/Docs/gr10_B.txt", true, "File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig", sizeof("File>>gr10_>>/Docs/gr10_B.txt configurable-default : orig")},
+
+};
+
+/**********************************************************************************************************************************************
+ *********************************************** Expected - group/20 *****************************************************************************
+ *********************************************************************************************************************************************/
+
+
+expected_key_data_RCT_s expected_RCT_group_20[12] =
+{
+ {"gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"doc1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"Docs/doc2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"docA.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}},
+ {"Docs/docB.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group20"},{NIL},{NIL}}}
+} ;
+
+expected_key_data_localDB_s expectedKeyData_group_20[16] =
+{
+/* non-default data : pre-installed */
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ {PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"20"PERS_ORG_LOCAL_WT_DB_NAME_, true,
+ "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ {PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ {PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ {PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ {PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ {PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF",
+ PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_LOCAL_CACHE_DB_NAME_, true,
+ "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")}
+};
+expected_file_data_s expectedFileData_group_20[10] =
+{
+/* pre-installed */
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt", sizeof("File>>gr20_>>/doc1.txt")},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt", sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1", sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2", sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3", sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4", sizeof("File>>gr20_>>/docB.txt::user2:seat4")}
+};
+
+/**********************************************************************************************************************************************
+ *********************************************** Expected - group/30 *****************************************************************************
+ *********************************************************************************************************************************************/
+/* Group 30 - new install based exclusively on configuration input (json fles) */
+expected_key_data_RCT_s expected_RCT_group_30[6] =
+{
+ {"gr30_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+ {"gr30_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+ {"gr30_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+ {"gr30_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+ {"gr30_1.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+ {"gr30_2.txt", PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"group30"},{NIL},{NIL}}},
+} ;
+
+expected_key_data_localDB_s expectedKeyData_group_30[8] =
+{
+/* factory-default data : installed via configuration input */
+ {"gr30_SettingA",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "gr30_SettingA : FactoryDefault : orig", sizeof("gr30_SettingA : FactoryDefault : orig")},
+ {"gr30_SettingB",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "gr30_SettingB : FactoryDefault : orig", sizeof("gr30_SettingB : FactoryDefault : orig")},
+ {"gr30_SettingC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "gr30_SettingC : FactoryDefault : orig", sizeof("gr30_SettingC : FactoryDefault : orig")},
+ {"gr30_SettingD",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "gr30_SettingD : FactoryDefault : orig", sizeof("gr30_SettingD : FactoryDefault : orig")},
+/* configurable-default data : installed via configuration input */
+ {"gr30_SettingA",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "gr30_SettingA : ConfigurableDefault : orig", sizeof("gr30_SettingA : ConfigurableDefault : orig")},
+ {"gr30_SettingB",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "gr30_SettingB : ConfigurableDefault : orig", sizeof("gr30_SettingB : ConfigurableDefault : orig")},
+ {"gr30_SettingC",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "gr30_SettingC : ConfigurableDefault : orig", sizeof("gr30_SettingC : ConfigurableDefault : orig")},
+ {"gr30_SettingD",
+ PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "gr30_SettingD : ConfigurableDefault : orig", sizeof("gr30_SettingD : ConfigurableDefault : orig")},
+};
+
+expected_file_data_s expectedFileData_group_30[4] =
+{
+/* factory-default data : installed via configuration input */
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr30_1.txt", true,
+ "File>>gr30_>>/gr30_1.txt factory-default : orig", sizeof("File>>gr30_>>/gr30_1.txt factory-default : orig")},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/gr30_2.txt", true,
+ "File>>gr30_>>/gr30_2.txt factory-default : orig", sizeof("File>>gr30_>>/gr30_2.txt factory-default : orig")},
+/* configurable-default data : installed via configuration input */
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr30_1.txt", true,
+ "File>>gr30_>>/gr30_1.txt configurable-default : orig", sizeof("File>>gr30_>>/gr30_1.txt configurable-default : orig")},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/gr30_2.txt", true,
+ "File>>gr30_>>/gr30_2.txt configurable-default : orig", sizeof("File>>gr30_>>/gr30_2.txt configurable-default : orig")},
+};
+
+/**********************************************************************************************************************************************
+ *********************************************** Expected - App30 First Phase *****************************************************************
+ *********************************************************************************************************************************************/
+/* Group 30 - new install based exclusively on configuration input (json fles) */
+expected_key_data_RCT_s expected_RCT_App30_Phase_1[6] =
+{
+ {"App30_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+ {"App30_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+ {"App30_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+ {"App30_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, Key_t ,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+ {"App30_1.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wt, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+ {"App30_2.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_RCT_NAME_, true, {PersistencePolicy_wc, PersistenceStorage_shared, File_t,S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App30"},{NIL},{NIL}}},
+} ;
+
+expected_key_data_localDB_s expectedKeyData_App30_Phase_1[8] =
+{
+/* factory-default data : installed via configuration input */
+ {"App30_SettingA",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "App30_SettingA : FactoryDefault : orig", sizeof("App30_SettingA : FactoryDefault : orig")},
+ {"App30_SettingB",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "App30_SettingB : FactoryDefault : orig", sizeof("App30_SettingB : FactoryDefault : orig")},
+ {"App30_SettingC",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "App30_SettingC : FactoryDefault : orig", sizeof("App30_SettingC : FactoryDefault : orig")},
+ {"App30_SettingD",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_FACTORY_DEFAULT_DB_NAME_, true,
+ "App30_SettingD : FactoryDefault : orig", sizeof("App30_SettingD : FactoryDefault : orig")},
+/* configurable-default data : installed via configuration input */
+ {"App30_SettingA",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "App30_SettingA : ConfigurableDefault : orig", sizeof("App30_SettingA : ConfigurableDefault : orig")},
+ {"App30_SettingB",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "App30_SettingB : ConfigurableDefault : orig", sizeof("App30_SettingB : ConfigurableDefault : orig")},
+ {"App30_SettingC",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "App30_SettingC : ConfigurableDefault : orig", sizeof("App30_SettingC : ConfigurableDefault : orig")},
+ {"App30_SettingD",
+ PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, true,
+ "App30_SettingD : ConfigurableDefault : orig", sizeof("App30_SettingD : ConfigurableDefault : orig")},
+};
+
+expected_file_data_s expectedFileData_App30_Phase_1[4] =
+{
+/* factory-default data : installed via configuration input */
+ {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/App30_1.txt", true,
+ "File>>App30_>>/App30_1.txt factory-default : orig", sizeof("File>>App30_>>/App30_1.txt factory-default : orig")},
+ {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/App30_2.txt", true,
+ "File>>App30_>>/App30_2.txt factory-default : orig", sizeof("File>>App30_>>/App30_2.txt factory-default : orig")},
+/* configurable-default data : installed via configuration input */
+ {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/App30_1.txt", true,
+ "File>>App30_>>/App30_1.txt configurable-default : orig", sizeof("File>>App30_>>/App30_1.txt configurable-default : orig")},
+ {PERS_ORG_LOCAL_APP_WT_PATH_"App30"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/App30_2.txt", true,
+ "File>>App30_>>/App30_2.txt configurable-default : orig", sizeof("File>>App30_>>/App30_2.txt configurable-default : orig")},
+};
+
+
+/***********************************************************************************************************************/
+expected_key_data_RCT_s expectedKeyData_RCT_resConfAdd_1[17] =
+{
+ {"App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ /* no longer available in the new RCT */
+ {"App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"doc1.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"Docs/doc2.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"docA.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ /* no longer available in the new RCT */
+ {"Docs/docB.txt", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, false, {PersistencePolicy_wc, PersistenceStorage_local, File_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wt, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}},
+ {"App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_RCT_NAME, true, {PersistencePolicy_wc, PersistenceStorage_local, Key_t, S_IRWXU|S_IRWXG|S_IRWXO, 64, {"App1"}, {NIL},{NIL}}}
+};
+
+expected_key_data_localDB_s expectedKeyData_localDB_resConfAdd_1[41] =
+{
+ {"App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_SettingA::DEFAULT", sizeof("Data>>/App1_SettingA::DEFAULT")},
+ {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_SettingB::DEFAULT", sizeof("Data>>/App1_SettingB::DEFAULT")},
+ {"App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, "Data>>/App1_SettingB::DEFAULT", sizeof("Data>>/App1_SettingB::DEFAULT")},
+ {"App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0},
+
+
+ {"App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSetting1::DEFAULT", sizeof("Data>>/App1_NewSetting1::DEFAULT")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting1::user1", sizeof("Data>>/App1_NewSetting1::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_NewSetting1", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting1::user2", sizeof("Data>>/App1_NewSetting1::user2")},
+
+
+ {"App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSetting2::DEFAULT", sizeof("Data>>/App1_NewSetting2::DEFAULT")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting2::user2::seat1", sizeof("Data>>/App1_NewSetting2::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSetting2", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_NewSetting2::user2::seat2", sizeof("Data>>/App1_NewSetting2::user2::seat2")},
+
+
+ {"App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSettingA::DEFAULT", sizeof("Data>>/App1_NewSettingA::DEFAULT")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingA::node", sizeof("Data>>/App1_NewSettingA::node")},
+
+
+ {"App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::DEFAULT", sizeof("Data>>/App1_NewSettingB/BAU::DEFAULT")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::user2::seat3", sizeof("Data>>/App1_NewSettingB/BAU::user2::seat3")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_NewSettingB/BAU::user1::seat2", sizeof("Data>>/App1_NewSettingB/BAU::user1::seat2")},
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DEFAULT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"1"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_NewSettingB/BAU", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0},
+
+
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ /* policy changed for App1_SettingB */
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_WT_DB_NAME_, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ /* no longer available in the new RCT */
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DB_NAME_, false, NIL, 0},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_NewSettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_LOCAL_CACHE_DEFAULT_DB_NAME_, false, NIL, 0}
+};
+
+
+expected_file_data_s expectedKeyData_files_resConfAdd_1[16] =
+{
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt::CONFIGURABLE-DEFAULT", sizeof("File>>App1>>NewData>>/doc1.txt::CONFIGURABLE-DEFAULT")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt::DEFAULT", sizeof("File>>App1>>NewData>>/doc1.txt::DEFAULT")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>NewData>>/Docs/doc2.txt::DEFAULT", sizeof("File>>App1>>NewData>>/Docs/doc2.txt::DEFAULT")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/docA.txt", true, "File>>App1>>NewData>>/docA.txt::DEFAULT", sizeof("File>>App1>>NewData>>/docA.txt::DEFAULT")},
+ /* no longer available in the new RCT */
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/docB.txt", false,NIL, 0},
+
+
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>NewData>>/doc1.txt", sizeof("File>>App1>>NewData>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>NewData>>/Docs/doc2.txt", sizeof("File>>App1>>NewData>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>NewData>>/docA.txt::user1", sizeof("File>>App1>>NewData>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2", sizeof("File>>App1>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>NewData>>/docA.txt::user3", sizeof("File>>App1>>NewData>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4", sizeof("File>>App1>>/docA.txt::user4")},
+
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_DEFAULT_DATA_FOLDER_NAME_"/Docs/docB.txt", false,NIL, 0},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,NIL, 0},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,NIL, 0},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,NIL, 0},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,NIL, 0}
+} ;
+
+bool_t Test_ResourceConfigAdd_1(int ceva, void* pAltceva)
+{
+ bool_t bEverythingOK = true ;
+
+ if(bEverythingOK)
+ {
+ long result = persAdminResourceConfigAdd(RESOURCE_ARCHIVE_PATHNAME_1) ;
+ sprintf(g_msg, "Test_ResourceConfigAdd_1: persAdminResourceConfigAdd(%s) returned %ld", RESOURCE_ARCHIVE_PATHNAME_1, result) ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ return bEverythingOK ;
+}
+
+bool_t Test_ResourceConfigAdd_2(int ceva, void* pAltceva)
+{
+ bool_t bEverythingOK = true ;
+
+ if(bEverythingOK)
+ {
+ long result = persAdminResourceConfigAdd(RESOURCE_ARCHIVE_PATHNAME_2) ;
+ sprintf(g_msg, "Test_ResourceConfigAdd_1: persAdminResourceConfigAdd(%s) returned %ld", RESOURCE_ARCHIVE_PATHNAME_2, result) ;
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ return bEverythingOK ;
+}
+
diff --git a/test/pers_svc_test/src/test_pas_restore_default_All.c b/test/pers_svc_test/src/test_pas_restore_default_All.c
new file mode 100644
index 0000000..5aebafb
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_restore_default_All.c
@@ -0,0 +1,350 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_restore_default.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_default_All[16 + 16 + 16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+} ;
+
+expected_file_data_s expected_file_data_after_restore_default_All[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", false, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", false, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", false, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", false, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", false, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", false, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", false, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", false, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",false, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+static expected_default_file_data_s expected_default_file_data_after_restore_factory_default_All[20] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, false},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, false},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, false},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, false},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+} ;
+
+
+//===================================================================================================================
+bool_t Test_Restore_Factory_Default_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ uint32_t u32Idx;
+ sint_t retVal;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore factory default for All content..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_All,
+ PersASDefaultSource_Factory,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Factory_Default_All: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+
+ /* Check if the configurableDefaultData folders and the configurable-default-data.itz files were deleted */
+ for(u32Idx = 0; u32Idx < sizeof(expected_default_file_data_after_restore_factory_default_All) / sizeof(*expected_default_file_data_after_restore_factory_default_All); ++u32Idx)
+ {
+ retVal = CheckIfFileExists( expected_default_file_data_after_restore_factory_default_All[u32Idx].filename,
+ expected_default_file_data_after_restore_factory_default_All[u32Idx].bIsFolder);
+
+ if((PAS_SUCCESS == retVal) && (false == expected_default_file_data_after_restore_factory_default_All[u32Idx].bExpectedToExist))
+ {
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR),
+ DLT_STRING(expected_default_file_data_after_restore_factory_default_All[u32Idx].filename),
+ DLT_STRING("found. Expected not to exist..."));
+ bEverythingOK = false;
+ }
+
+// if((PAS_SUCCESS != retVal) && (true == expected_default_file_data_after_restore_factory_default_All[u32Idx].bExpectedToExist))
+// {
+// DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR),
+// DLT_STRING(expected_default_file_data_after_restore_factory_default_All[u32Idx].filename),
+// DLT_STRING("not found. Expected to exist..."));
+// bEverythingOK = false;
+// }
+ }
+
+ return bEverythingOK ;
+} /* Test_Restore_Factory_Default_All */
+
+
+bool_t Test_Restore_Configurable_Default_All(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore configurable default for All content..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_All,
+ PersASDefaultSource_Configurable,
+ "",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Configurable_Default_All: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ return bEverythingOK ;
+} /* Test_Restore_Configurable_Default_All */
diff --git a/test/pers_svc_test/src/test_pas_restore_default_App1.c b/test/pers_svc_test/src/test_pas_restore_default_App1.c
new file mode 100644
index 0000000..672ab77
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_restore_default_App1.c
@@ -0,0 +1,351 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_restore_default.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_default_App1[16 + 16 + 16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true,"Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true,"Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+} ;
+
+expected_file_data_s expected_file_data_after_restore_default_App1[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", false, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", false, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", false, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", false, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+static expected_default_file_data_s expected_default_file_data_after_restore_factory_default_App1[20] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, true},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME, true, true},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, true},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME, false, true},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"10" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, false},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, false},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_CONFIG_DEFAULT_DATA_FOLDER_NAME_, true, true},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2" PERS_ORG_LOCAL_CONFIGURABLE_DEFAULT_DB_NAME_, false, true},
+} ;
+
+
+bool_t Test_Restore_Factory_Default_App1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lRetVal;
+ uint32_t u32Idx;
+ sint_t retVal;
+
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore factory default for App1..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_Application,
+ PersASDefaultSource_Factory,
+ "App1",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Factory_Default_App1: persAdminDataRestore() - "),
+ DLT_STRING( bEverythingOK ? "OK" : "FAILED"));
+
+
+ /* Check if the configurableDefaultData folders and the configurable-default-data.itz files were deleted */
+ for(u32Idx = 0; u32Idx < sizeof(expected_default_file_data_after_restore_factory_default_App1) / sizeof(*expected_default_file_data_after_restore_factory_default_App1); ++u32Idx)
+ {
+ retVal = CheckIfFileExists( expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename,
+ expected_default_file_data_after_restore_factory_default_App1[u32Idx].bIsFolder);
+
+ if((PAS_SUCCESS == retVal) && (false == expected_default_file_data_after_restore_factory_default_App1[u32Idx].bExpectedToExist))
+ {
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR),
+ DLT_STRING(expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename),
+ DLT_STRING("found. Expected not to exist..."));
+ bEverythingOK = false;
+ }
+
+// if((PAS_SUCCESS != retVal) && (true == expected_default_file_data_after_restore_factory_default_App1[u32Idx].bExpectedToExist))
+// {
+// DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR),
+// DLT_STRING(expected_default_file_data_after_restore_factory_default_App1[u32Idx].filename),
+// DLT_STRING("not found. Expected to exist..."));
+// bEverythingOK = false;
+// }
+ }
+
+ return bEverythingOK ;
+} /* Test_Restore_Factory_Default_App1 */
+
+
+bool_t Test_Restore_Configurable_Default_App1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore configurable default for App1..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_Application,
+ PersASDefaultSource_Configurable,
+ "App1",
+ PERSIST_SELECT_ALL_USERS,
+ PERSIST_SELECT_ALL_SEATS);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Configurable_Default_App1: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ return bEverythingOK ;
+} /* Test_Restore_Configurable_Default_App1 */
diff --git a/test/pers_svc_test/src/test_pas_restore_default_User1.c b/test/pers_svc_test/src/test_pas_restore_default_User1.c
new file mode 100644
index 0000000..a18aacb
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_restore_default_User1.c
@@ -0,0 +1,253 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdio.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_restore_default.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_default_User1[16 + 16 + 16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+
+} ;
+
+expected_file_data_s expected_file_data_after_restore_default_User1[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", false,"File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", false,"File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", false,"File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+//===================================================================================================================
+
+bool_t Test_Restore_Configurable_Default_User1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true ;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore configurable default for User1..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_User,
+ PersASDefaultSource_Configurable,
+ "",
+ 0x01,
+ PERSIST_SELECT_ALL_SEATS);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Configurable_Default_User1: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ return bEverythingOK ;
+} /* Test_Restore_Configurable_Default_User1 */
diff --git a/test/pers_svc_test/src/test_pas_restore_default_User2App1.c b/test/pers_svc_test/src/test_pas_restore_default_User2App1.c
new file mode 100644
index 0000000..a2808db
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_restore_default_User2App1.c
@@ -0,0 +1,253 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_restore_default.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_default_User2App1[16 + 16 + 16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+} ;
+
+expected_file_data_s expected_file_data_after_restore_default_User2App1[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", false,"File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+bool_t Test_Restore_Configurable_Default_User2App1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore configurable default for User2App1..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_User,
+ PersASDefaultSource_Configurable,
+ "App1",
+ 0x02,
+ PERSIST_SELECT_ALL_SEATS);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Configurable_Default_User2App1: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ return bEverythingOK ;
+} /* Test_Restore_Configurable_Default_User2App1 */
diff --git a/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c b/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c
new file mode 100644
index 0000000..35827c9
--- /dev/null
+++ b/test/pers_svc_test/src/test_pas_restore_default_User2Seat1.c
@@ -0,0 +1,253 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2012 Continental Automotive Systems, Inc.
+*
+* Author: Petrica.Manoila@continental-corporation.com
+*
+* Implementation of backup process
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2012.11.27 uidu0250 CSP_WZ#1280: Initial version
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <unistd.h>
+#include <dirent.h>
+
+#include <dlt/dlt.h>
+#include <dlt/dlt_user.h>
+
+#include "test_PAS.h"
+#include "persistence_admin_service.h"
+#include "test_pas_data_restore_default.h"
+
+DLT_IMPORT_CONTEXT(persAdminSvcDLTCtx);
+
+#define LT_HDR "TEST_PAS >> "
+
+//===================================================================================================================
+// INIT
+//===================================================================================================================
+// using default structure offered by test framework
+
+//===================================================================================================================
+// EXPECTED
+//===================================================================================================================
+
+expected_key_data_localDB_s expected_key_data_after_restore_default_User2Seat1[16 + 16 + 16 + 16 + 16] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingA", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingA", sizeof("Data>>/pubSettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/pubSettingB::user2::seat1", sizeof("Data>>/pubSettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingB", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingB::user2:seat2", sizeof("Data>>/pubSettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSettingC", sizeof("Data>>/pubSettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user1", sizeof("Data>>/pubSetting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user2", sizeof("Data>>/pubSetting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user3", sizeof("Data>>/pubSetting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/ABC", PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/pubSetting/ABC::user4", sizeof("Data>>/pubSetting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingD", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingD", sizeof("Data>>/pubSettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/pubSettingE::user2:seat1", sizeof("Data>>/pubSettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/pubSettingE", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingE::user2:seat2", sizeof("Data>>/pubSettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/pubSettingF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSettingF", sizeof("Data>>/pubSettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user1", sizeof("Data>>/pubSetting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user2", sizeof("Data>>/pubSetting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user3", sizeof("Data>>/pubSetting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/pubSetting/DEF", PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/pubSetting/DEF::user4", sizeof("Data>>/pubSetting/DEF::user4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingA", sizeof("Data>>/gr10_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr10_SettingB::user2::seat1", sizeof("Data>>/gr10_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingB::user2:seat2", sizeof("Data>>/gr10_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_SettingC", sizeof("Data>>/gr10_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user1", sizeof("Data>>/gr10_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user2", sizeof("Data>>/gr10_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user3", sizeof("Data>>/gr10_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr10_Setting/ABC::user4", sizeof("Data>>/gr10_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingD", sizeof("Data>>/gr10_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr10_SettingE::user2:seat1", sizeof("Data>>/gr10_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr10_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingE::user2:seat2", sizeof("Data>>/gr10_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr10_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_SettingF", sizeof("Data>>/gr10_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user1", sizeof("Data>>/gr10_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user2", sizeof("Data>>/gr10_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user3", sizeof("Data>>/gr10_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr10_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"10/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr10_Setting/DEF::user4", sizeof("Data>>/gr10_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingA", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingA", sizeof("Data>>/gr20_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, false,"Data>>/gr20_SettingB::user2::seat1", sizeof("Data>>/gr20_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingB", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingB::user2:seat2", sizeof("Data>>/gr20_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_SettingC", sizeof("Data>>/gr20_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user1", sizeof("Data>>/gr20_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user2", sizeof("Data>>/gr20_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user3", sizeof("Data>>/gr20_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/ABC", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_WT_DB_NAME, true, "Data>>/gr20_Setting/ABC::user4", sizeof("Data>>/gr20_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingD", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingD", sizeof("Data>>/gr20_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, false,"Data>>/gr20_SettingE::user2:seat1", sizeof("Data>>/gr20_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/gr20_SettingE", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingE::user2:seat2", sizeof("Data>>/gr20_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/gr20_SettingF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_SettingF", sizeof("Data>>/gr20_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user1", sizeof("Data>>/gr20_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user2", sizeof("Data>>/gr20_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user3", sizeof("Data>>/gr20_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/gr20_Setting/DEF", PERS_ORG_SHARED_GROUP_WT_PATH_"20/"PERS_ORG_SHARED_CACHE_DB_NAME, true, "Data>>/gr20_Setting/DEF::user4", sizeof("Data>>/gr20_Setting/DEF::user4")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App1_SettingB::user2::seat1", sizeof("Data>>/App1_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingB::user2:seat2", sizeof("Data>>/App1_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_SettingC", sizeof("Data>>/App1_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user1", sizeof("Data>>/App1_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user2", sizeof("Data>>/App1_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user3", sizeof("Data>>/App1_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App1/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App1_Setting/ABC::user4", sizeof("Data>>/App1_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingD", sizeof("Data>>/App1_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App1_SettingE::user2:seat1", sizeof("Data>>/App1_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App1_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingE::user2:seat2", sizeof("Data>>/App1_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App1_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_SettingF", sizeof("Data>>/App1_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user1", sizeof("Data>>/App1_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user2", sizeof("Data>>/App1_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user3", sizeof("Data>>/App1_Setting/DEF::user4")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App1_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App1/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App1_Setting/DEF::user4", sizeof("Data>>/App1_Setting/DEF::user3")},
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingA", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingA", sizeof("Data>>/App1_SettingA")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, false,"Data>>/App2_SettingB::user2::seat1", sizeof("Data>>/App2_SettingB::user2::seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingB", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingB::user2:seat2", sizeof("Data>>/App2_SettingB::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_SettingC", sizeof("Data>>/App2_SettingC")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user1", sizeof("Data>>/App2_Setting/ABC::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user2", sizeof("Data>>/App2_Setting/ABC::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user3", sizeof("Data>>/App2_Setting/ABC::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/ABC", PERS_ORG_LOCAL_APP_WT_PATH_"App2/"PERS_ORG_LOCAL_WT_DB_NAME, true, "Data>>/App2_Setting/ABC::user4", sizeof("Data>>/App2_Setting/ABC::user4")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingD", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingD", sizeof("Data>>/App2_SettingD")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, false,"Data>>/App2_SettingE::user2:seat1", sizeof("Data>>/App2_SettingE::user2:seat1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/App2_SettingE", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingE::user2:seat2", sizeof("Data>>/App2_SettingE::user2:seat2")},
+ { PERS_ORG_NODE_FOLDER_NAME_"/App2_SettingF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_SettingF", sizeof("Data>>/App2_SettingF")},
+ { PERS_ORG_USER_FOLDER_NAME_"1/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user1", sizeof("Data>>/App2_Setting/DEF::user1")},
+ { PERS_ORG_USER_FOLDER_NAME_"2/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user2", sizeof("Data>>/App2_Setting/DEF::user2")},
+ { PERS_ORG_USER_FOLDER_NAME_"3/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user3", sizeof("Data>>/App2_Setting/DEF::user3")},
+ { PERS_ORG_USER_FOLDER_NAME_"4/App2_Setting/DEF", PERS_ORG_LOCAL_APP_CACHE_PATH_"App2/"PERS_ORG_LOCAL_CACHE_DB_NAME, true, "Data>>/App2_Setting/DEF::user4", sizeof("Data>>/App2_Setting/DEF::user4")},
+} ;
+
+expected_file_data_s expected_file_data_after_restore_default_User2Seat1[10 + 10 + 10 + 10 + 10] =
+{
+ /**********************************************************************************************************************************************
+ ***************************************** public *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/doc1.txt", true, "File>>/doc1.txt" , sizeof("File>>/doc1.txt")},
+ { PERS_ORG_SHARED_PUBLIC_WT_PATH_ PERS_ORG_NODE_FOLDER_NAME"/Docs/doc2.txt", true, "File>>/Docs/doc2.txt" , sizeof("File>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/1/docA.txt", true, "File>>/docA.txt::user1" , sizeof("File>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2/docA.txt", true, "File>>/docA.txt::user2" , sizeof("File>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/3/docA.txt", true, "File>>/docA.txt::user3" , sizeof("File>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/4/docA.txt", true, "File>>/docA.txt::user4" , sizeof("File>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>/docB.txt::user2:seat1" , sizeof("File>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>/docB.txt::user2:seat2" , sizeof("File>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>/docB.txt::user2:seat3" , sizeof("File>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_PUBLIC_CACHE_PATH_ PERS_ORG_USER_FOLDER_NAME"/2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>/docB.txt::user2:seat4" , sizeof("File>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 10 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/gr10_1.txt", true, "File>>gr10_>>/gr10_1.txt" , sizeof("File>>gr10_>>/gr10_1.txt" )},
+ {PERS_ORG_SHARED_GROUP_WT_PATH_"10" PERS_ORG_NODE_FOLDER_NAME_"/Docs/gr10_A.txt", true, "File>>gr10_>>/Docs/gr10_A.txt" , sizeof("File>>gr10_>>/Docs/gr10_A.txt" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"1/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user1" , sizeof("File>>gr10_>>/gr10_2.txt::user1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user2" , sizeof("File>>gr10_>>/gr10_2.txt::user2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"3/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user3" , sizeof("File>>gr10_>>/gr10_2.txt::user3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"4/gr10_2.txt", true, "File>>gr10_>>/gr10_2.txt::user4" , sizeof("File>>gr10_>>/gr10_2.txt::user4" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/gr10_B.txt",false,"File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat1" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat2" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat3" )},
+ {PERS_ORG_SHARED_GROUP_CACHE_PATH_"10"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/gr10_B.txt",true, "File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" , sizeof("File>>gr10_>>/Docs/gr10_B.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** Group 20 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>gr20_>>/doc1.txt" , sizeof("File>>gr20_>>/doc1.txt")},
+ { PERS_ORG_SHARED_GROUP_WT_PATH_"20" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>gr20_>>/Docs/doc2.txt" , sizeof("File>>gr20_>>/Docs/doc2.txt")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>gr20_>>/docA.txt::user1", sizeof("File>>gr20_>>/docA.txt::user1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>gr20_>>/docA.txt::user2", sizeof("File>>gr20_>>/docA.txt::user2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>gr20_>>/docA.txt::user3", sizeof("File>>gr20_>>/docA.txt::user3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>gr20_>>/docA.txt::user4", sizeof("File>>gr20_>>/docA.txt::user4")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>gr20_>>/docB.txt::user2:seat1" , sizeof("File>>gr20_>>/docB.txt::user2:seat1")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat2" , sizeof("File>>gr20_>>/docB.txt::user2:seat2")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat3" , sizeof("File>>gr20_>>/docB.txt::user2:seat3")},
+ { PERS_ORG_SHARED_GROUP_CACHE_PATH_"20"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>gr20_>>/docB.txt::user2:seat4" , sizeof("File>>gr20_>>/docB.txt::user2:seat4")},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App1 *******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App1>>/doc1.txt" , sizeof("File>>App1>>/doc1.txt" )},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App1" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App1>>/Docs/doc2.txt" , sizeof("File>>App1>>/Docs/doc2.txt" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App1>>/docA.txt::user1" , sizeof("File>>App1>>/docA.txt::user1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App1>>/docA.txt::user2" , sizeof("File>>App1>>/docA.txt::user2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App1>>/docA.txt::user3" , sizeof("File>>App1>>/docA.txt::user3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App1>>/docA.txt::user4" , sizeof("File>>App1>>/docA.txt::user4" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App1>>/docB.txt::user2:seat1" , sizeof("File>>App1>>/docB.txt::user2:seat1" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat2" , sizeof("File>>App1>>/docB.txt::user2:seat2" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat3" , sizeof("File>>App1>>/docB.txt::user2:seat3" )},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App1"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App1>>/docB.txt::user2:seat4" , sizeof("File>>App1>>/docB.txt::user2:seat4" )},
+
+
+ /**********************************************************************************************************************************************
+ ***************************************** App2*******************************************************************************************
+ *********************************************************************************************************************************************/
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/doc1.txt", true, "File>>App2>>/doc1.txt" , sizeof("File>>App2>>/doc1.txt")},
+ { PERS_ORG_LOCAL_APP_WT_PATH_"App2" PERS_ORG_NODE_FOLDER_NAME_"/Docs/doc2.txt", true, "File>>App2>>/Docs/doc2.txt" , sizeof("File>>App2>>/Docs/doc2.txt")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"1/docA.txt", true, "File>>App2>>/docA.txt::user1" , sizeof("File>>App2>>/docA.txt::user1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2/docA.txt", true, "File>>App2>>/docA.txt::user2" , sizeof("File>>App2>>/docA.txt::user2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"3/docA.txt", true, "File>>App2>>/docA.txt::user3" , sizeof("File>>App2>>/docA.txt::user3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"4/docA.txt", true, "File>>App2>>/docA.txt::user4" , sizeof("File>>App2>>/docA.txt::user4")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"1/Docs/docB.txt", false,"File>>App2>>/docB.txt::user2:seat1" , sizeof("File>>App2>>/docB.txt::user2:seat1")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"2/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat2" , sizeof("File>>App2>>/docB.txt::user2:seat2")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"3/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat3" , sizeof("File>>App2>>/docB.txt::user2:seat3")},
+ { PERS_ORG_LOCAL_APP_CACHE_PATH_"App2"PERS_ORG_USER_FOLDER_NAME_"2"PERS_ORG_SEAT_FOLDER_NAME_"4/Docs/docB.txt", true, "File>>App2>>/docB.txt::user2:seat4" , sizeof("File>>App2>>/docB.txt::user2:seat4")}
+} ;
+
+
+//===================================================================================================================
+
+bool_t Test_Restore_Configurable_Default_User2Seat1(sint_t type, void* pv)
+{
+ bool_t bEverythingOK = true;
+ long lRetVal;
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Restore configurable default for User2Seat1..."));
+
+ lRetVal = persAdminDataRestore( PersASSelectionType_User,
+ PersASDefaultSource_Configurable,
+ "",
+ 0x02,
+ 0x01);
+
+ if(lRetVal < PAS_SUCCESS)
+ {
+ bEverythingOK = false;
+ }
+
+ DLT_LOG(persAdminSvcDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR),
+ DLT_STRING("Test_Restore_Configurable_Default_User2Seat1: persAdminDataRestore() - "),
+ DLT_STRING(bEverythingOK ? "OK" : "FAILED"));
+ return bEverythingOK ;
+} /* Test_Restore_Configurable_Default_User2Seat1 */
diff --git a/test/pers_svc_test/webtool_export/resource2.tar.gz b/test/pers_svc_test/webtool_export/resource2.tar.gz
new file mode 100644
index 0000000..11b214b
--- /dev/null
+++ b/test/pers_svc_test/webtool_export/resource2.tar.gz
Binary files differ
diff --git a/test/persadmin_tool/Makefile.am b/test/persadmin_tool/Makefile.am
new file mode 100644
index 0000000..95a5357
--- /dev/null
+++ b/test/persadmin_tool/Makefile.am
@@ -0,0 +1,38 @@
+#######################################################################################################################
+#
+# Copyright (C) 2012 Continental Automotive Systems, Inc.
+#
+# Author: Ana.Chisca@continental-corporation.com
+#
+# Makefile template for the Persistence Administration Service Test Framework
+#
+# Process this file with automake to produce a Makefile.in.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#######################################################################################################################
+
+bin_PROGRAMS = persadmin_tool
+
+#
+#
+# persistence administration service tool for development
+#
+#
+
+persadmin_tool_CFLAGS = \
+ -I $(top_srcdir)/Administrator/inc/private -I $(top_srcdir)/Administrator/inc/public -I inc -I generated \
+ $(DLT_CFLAGS) \
+ $(PERSCOMMON_CFLAGS)
+
+persadmin_tool_LDFLAGS = \
+ $(PLATFORM_LDFLAGS)
+
+persadmin_tool_LDADD = \
+ $(DLT_LIBS) \
+ $(top_srcdir)/Administrator/libpers_admin_access_lib.la
+
+persadmin_tool_SOURCES = \
+ src/persadmin_tool.c
diff --git a/test/persadmin_tool/src/persadmin_tool.c b/test/persadmin_tool/src/persadmin_tool.c
new file mode 100644
index 0000000..2f241cb
--- /dev/null
+++ b/test/persadmin_tool/src/persadmin_tool.c
@@ -0,0 +1,407 @@
+/*********************************************************************************************************************
+*
+* Copyright (C) 2013 Continental Automotive Systems, Inc.
+*
+* Author: Ionut.Ieremie@continental-corporation.com
+*
+* Small tool (only for development purpose) to access (part of) functionality provided by Persistence Administrator.
+* To be used until SWL will be available.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*
+* Date Author Reason
+* 2013.09.19 uidl9757 CSP_WZ#5759: Add support for "restore"
+* 2013.05.28 uidl9757 CSP_WZ#12152: Created
+*
+**********************************************************************************************************************/
+
+#include "persComTypes.h"
+#include "stdio.h"
+#include "string.h"
+#include "persistence_admin_service.h"
+#include "dlt/dlt.h"
+
+#define LT_HDR "[Persadmin_Tool]:"
+DLT_DECLARE_CONTEXT (persadminToolDLTCtx)
+
+typedef enum _pastool_commands_e
+{
+ PASTOOL_CMD_INSTALL = 0,
+ PASTOOL_CMD_BACKUP,
+ PASTOOL_CMD_EXPORT,
+ PASTOOL_CMD_RECOVERY,
+ PASTOOL_CMD_IMPORT,
+ PASTOOL_CMD_RESTORE,
+ PASTOOL_CMD_SHOW_HELP,
+ /* add new entries here */
+ PASTOOL_CMD_LAST_ENTRY
+}pastool_commands_e ;
+
+typedef struct
+{
+ pastool_commands_e eCommand ;
+ int iExpectedArgsNo ;
+ char* pCommandName ;
+}pastool_command_name_s;
+
+typedef struct
+{
+ pastool_commands_e eCommand ;
+ char path[256] ;
+ PersASSelectionType_e eSelectionType ;
+ char appName[256] ;
+ unsigned int user_no ;
+ unsigned int seat_no ;
+}pastool_input_s ;
+
+static const pastool_command_name_s a_sCommandNames[] =
+{
+ {PASTOOL_CMD_INSTALL, 3, "install"},
+ {PASTOOL_CMD_BACKUP, 7, "backup"},
+ {PASTOOL_CMD_EXPORT, 4, "export"},
+ {PASTOOL_CMD_RECOVERY, 7, "recovery"},
+ {PASTOOL_CMD_IMPORT, 4, "import"},
+ {PASTOOL_CMD_RESTORE, 7, "restore"},
+ {PASTOOL_CMD_SHOW_HELP, 2, "help"},
+ {PASTOOL_CMD_SHOW_HELP, 2, "-help"},
+ {PASTOOL_CMD_SHOW_HELP, 2, "-h"},
+ {PASTOOL_CMD_SHOW_HELP, 2, "-?"},
+};
+
+static char g_msg[512] ;
+static pastool_input_s sInputCommand = {0};
+
+static bool_t pastool_parseArguments(int argc, char *argv[]);
+static void pastool_printHelp(void) ;
+static bool_t pastool_getCommand(char* arg, pastool_commands_e* peCommand_out) ;
+static void pastool_printArguments(pastool_input_s* psArguments, int iNumberOfArguments) ;
+static bool_t pastool_executeCommand(pastool_input_s* psArguments) ;
+
+static bool_t pastool_parseArguments(int argc, char *argv[])
+{
+ bool_t bCanContinue = true ;
+ int iNumberOfArguments = argc ;
+ if(iNumberOfArguments < 2)
+ {
+ bCanContinue = false ;
+ snprintf(g_msg, sizeof(g_msg), "%s:invalid number of arguments =%d", __FUNCTION__, iNumberOfArguments) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+
+ if(bCanContinue)
+ {
+ if( ! pastool_getCommand(argv[1], &sInputCommand.eCommand))
+ {
+ bCanContinue = false ;
+ }
+ else
+ {
+ /* check if the right number of parameters provided */
+ if(iNumberOfArguments != a_sCommandNames[sInputCommand.eCommand].iExpectedArgsNo)
+ {
+ bCanContinue = false ;
+ snprintf(g_msg, sizeof(g_msg), "%s:invalid number of arguments for <<%s>> %d (expected %d)",
+ __FUNCTION__, argv[1], iNumberOfArguments, a_sCommandNames[sInputCommand.eCommand].iExpectedArgsNo) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ }
+
+ if(bCanContinue && (iNumberOfArguments > 2) )
+ {
+ /* argv[2] is always <<path>>
+ * Don't check the path (PAS will do it)
+ */
+ strncpy(sInputCommand.path, argv[2], sizeof(sInputCommand.path)) ;
+ }
+
+ if(bCanContinue && (iNumberOfArguments > 3))
+ {
+ /* argv[3] is always <<selection type>>
+ */
+ if(1 == sscanf(argv[3], "%d", (int*)&sInputCommand.eSelectionType))
+ {
+ if((sInputCommand.eSelectionType < PersASSelectionType_All) || (sInputCommand.eSelectionType >= PersASSelectionType_LastEntry))
+ {
+ bCanContinue = false ;
+ snprintf(g_msg, sizeof(g_msg), "%s:selection type = <<%d>>",
+ __FUNCTION__, sInputCommand.eSelectionType) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ }
+ }
+
+ if(bCanContinue && (iNumberOfArguments > 4))
+ {
+ /* argv[4] is always <<application>>
+ * Don't check the path (PAS will do it)
+ */
+ strncpy(sInputCommand.appName, argv[4], sizeof(sInputCommand.appName)) ;
+ }
+
+ if(bCanContinue && (iNumberOfArguments > 5))
+ {
+ /* argv[5] is always <<user number>> */
+ if(1 != sscanf(argv[5], "%d", &sInputCommand.user_no))
+ {
+ bCanContinue = false ;
+ snprintf(g_msg, sizeof(g_msg), "%s:invalid user_no = <<%s>>",
+ __FUNCTION__, argv[5]) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ if((-1) == sInputCommand.user_no)
+ {
+ sInputCommand.user_no = PERSIST_SELECT_ALL_USERS ;
+ }
+ }
+ }
+
+ if(bCanContinue && (iNumberOfArguments > 6))
+ {
+ /* argv[4] is always <<seat number>> */
+ if(1 != sscanf(argv[6], "%d", &sInputCommand.seat_no))
+ {
+ bCanContinue = false ;
+ snprintf(g_msg, sizeof(g_msg), "%s:invalid seat_no = <<%s>>",
+ __FUNCTION__, argv[6]) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ }
+ else
+ {
+ if((-1) == sInputCommand.seat_no)
+ {
+ sInputCommand.seat_no = PERSIST_SELECT_ALL_SEATS ;
+ }
+ }
+ }
+
+ return bCanContinue ;
+}
+
+static void pastool_printHelp(void)
+{
+
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("==================== PAS Tool - help ===================================================="));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Command format:"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool command path [selection_type][application] [user_no] [seat_no]"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| command | path | selection type | application | user_no | seat_no |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| install | mandatory | na | na | na | na |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| backup | mandatory | mandatory | mandatory | mandatory | mandatory |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| recovery | mandatory | mandatory | mandatory | mandatory | mandatory |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| export | mandatory | mandatory | na | na | na |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| import | mandatory | mandatory | na | na | na |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| restore | mandatory | mandatory | mandatory | mandatory | mandatory |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("| help | mandatory | mandatory | na | na | na |"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("-----------------------------------------------------------------------------------------"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("path meaning:"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for install : abs pathname to input installation file (.tar.gz)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for backup : abs pathname to output backup file (.tar.gz)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for recovery : abs pathname to input backup file (.tar.gz)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for export : abs path to destination folder"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for import : abs path to source folder"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" for restore : choose one of: FactoryDefault or ConfigDefault"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("selection type meaning:"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" <<0>> : select all data/files: (node+user)->(application+shared)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" <<1>> : select user data/files: (user)->(application+shared)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" <<2>> : select application data/files: (application)->(node+user)"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("user_no and seat_no meaning:"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" <<1 to 4>> : select a single user/seat"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" <<-1>> : select all users/seats"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("Examples:"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool install /tmp/resource.tar.gz"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool backup /tmp/backup 2 MyApp -1 -1"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool backup /tmp/backup 2 MyApp 2 -1"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool export /tmp/export 0"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(" /usr/bin/persadmin_tool restore FactoryDefault 2 MyApp -1 -1"));
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING("=========================================================================================="));
+}
+
+static void pastool_printArguments(pastool_input_s* psArguments, int iNumberOfArguments)
+{
+ snprintf(g_msg, sizeof(g_msg), "Called with:") ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "command = <<%s>>", a_sCommandNames[psArguments->eCommand].pCommandName) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "path = <<%s>>", psArguments->path) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "selection type = <<%d>>",
+ (iNumberOfArguments > 3) ? psArguments->eSelectionType : (-1)) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "application = <<%s>>",
+ (iNumberOfArguments > 4) ? psArguments->appName : "Not Applicable") ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "user_no = <<%d>>",
+ (iNumberOfArguments > 5) ? psArguments->user_no : -1) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ snprintf(g_msg, sizeof(g_msg), "seat_no = <<%d>>",
+ (iNumberOfArguments > 6) ? psArguments->seat_no : -1) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+
+}
+
+static bool_t pastool_getCommand(char* arg, pastool_commands_e* peCommand_out)
+{
+ bool_t bFoundCommand = false ;
+
+ if(NULL != arg)
+ {
+ int i = 0 ;
+ for(i = 0 ; i < sizeof(a_sCommandNames)/sizeof(a_sCommandNames[0]) ; i++)
+ {
+ if(0 == strcmp(a_sCommandNames[i].pCommandName, arg))
+ {
+ *peCommand_out = a_sCommandNames[i].eCommand ;
+ bFoundCommand = true ;
+ break ;
+ }
+ }
+ }
+ else
+ {
+ bFoundCommand = false ;
+ }
+
+ return bFoundCommand ;
+}
+
+static bool_t pastool_executeCommand(pastool_input_s* psArguments)
+{
+ bool_t bEverythingOK = true ;
+ long result = -1 ;
+
+ switch(psArguments->eCommand)
+ {
+ case PASTOOL_CMD_SHOW_HELP:
+ {
+ pastool_printHelp() ;
+ break ;
+ }
+ case PASTOOL_CMD_INSTALL:
+ {
+ result = persAdminResourceConfigAdd(psArguments->path) ;
+ snprintf(g_msg, sizeof(g_msg), "persAdminResourceConfigAdd(%s) returned <<%ld>>", psArguments->path, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ case PASTOOL_CMD_BACKUP:
+ {
+ result = persAdminDataBackupCreate(psArguments->eSelectionType, psArguments->path, psArguments->appName, psArguments->user_no, psArguments->seat_no);
+ snprintf(g_msg, sizeof(g_msg), "persAdminDataBackupCreate(<<%d>>, <<%s>>, <<%s>>, <<%d>>, <<%d>>) returned <<%ld>>",
+ psArguments->eSelectionType, psArguments->path, psArguments->appName, psArguments->user_no, psArguments->seat_no, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ case PASTOOL_CMD_EXPORT:
+ {
+ result = persAdminDataFolderExport(psArguments->eSelectionType, psArguments->path);
+ snprintf(g_msg, sizeof(g_msg), "persAdminDataFolderExport(<<%d>>, <<%s>>) returned <<%ld>>",
+ psArguments->eSelectionType, psArguments->path, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ case PASTOOL_CMD_RECOVERY:
+ {
+ long result = persAdminDataBackupRecovery(psArguments->eSelectionType, psArguments->path, psArguments->appName, psArguments->user_no, psArguments->seat_no);
+ snprintf(g_msg, sizeof(g_msg), "persAdminDataBackupRecovery(<<%d>>, <<%s>>, <<%s>>, <<%d>>, <<%d>>) returned <<%ld>>",
+ psArguments->eSelectionType, psArguments->path, psArguments->appName, psArguments->user_no, psArguments->seat_no, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ case PASTOOL_CMD_IMPORT:
+ {
+ long result = persAdminDataFolderImport(psArguments->eSelectionType, psArguments->path);
+ snprintf(g_msg, sizeof(g_msg), "persAdminDataFolderImport(<<%d>>, <<%s>>) returned <<%ld>>",
+ psArguments->eSelectionType, psArguments->path, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ case PASTOOL_CMD_RESTORE:
+ {
+ PersASDefaultSource_e defaultSource = PersASDefaultSource_Configurable;
+ if(0 == strcmp(psArguments->path, "ConfigDefault"))
+ {
+ defaultSource = PersASDefaultSource_Configurable;
+ }
+ result = persAdminDataRestore(psArguments->eSelectionType, defaultSource, psArguments->appName, psArguments->user_no, psArguments->seat_no);
+ snprintf(g_msg, sizeof(g_msg), "persAdminDataRestore(<<%d>>, <<%s>>, <<%s>>, <<%d>>, <<%d>>) returned <<%ld>>",
+ psArguments->eSelectionType, (PersASDefaultSource_Configurable==defaultSource)?"ConfigDefault":"FactoryDefault",
+ psArguments->appName, psArguments->user_no, psArguments->seat_no, result) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_INFO, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ if(result < 0)
+ {
+ bEverythingOK = false ;
+ }
+ break ;
+ }
+ default:
+ {
+ /* not possible, but just to be sure */
+ bEverythingOK = false ;
+ snprintf(g_msg, sizeof(g_msg), "unexpected command <<%d>> !!!", psArguments->eCommand) ;
+ DLT_LOG(persadminToolDLTCtx, DLT_LOG_ERROR, DLT_STRING(LT_HDR), DLT_STRING(g_msg));
+ break ;
+ }
+ }
+
+ return bEverythingOK ;
+}
+
+int main(int argc, char *argv[])
+{
+ bool_t bEverythingOK = true ;
+
+ DLT_REGISTER_APP("0037","PAS_Tool"); /* 0x0037 <=> OIP_SSW_PERSADMIN_TOOL */
+ DLT_REGISTER_CONTEXT(persadminToolDLTCtx,"PASt", "PAS_Tool");
+ DLT_ENABLE_LOCAL_PRINT() ;
+
+ if(pastool_parseArguments(argc, argv))
+ {
+ pastool_printArguments(&sInputCommand, argc);
+ if(! pastool_executeCommand(&sInputCommand))
+ {
+ bEverythingOK = false ;
+ }
+ }
+ else
+ {
+ bEverythingOK = false ;
+ pastool_printHelp() ;
+ }
+
+ DLT_UNREGISTER_CONTEXT(persadminToolDLTCtx) ;
+ DLT_UNREGISTER_APP() ;
+
+ return bEverythingOK ? 0 : (-1) ;
+}