package com.constellio.app.ui.pages.events;
import com.constellio.app.modules.rm.RMTestRecords;
import com.constellio.app.modules.rm.services.RMSchemasRecordsServices;
import com.constellio.app.modules.rm.services.borrowingServices.BorrowingServices;
import com.constellio.app.modules.rm.services.borrowingServices.BorrowingType;
import com.constellio.app.modules.rm.wrappers.AdministrativeUnit;
import com.constellio.app.modules.rm.wrappers.Folder;
import com.constellio.app.ui.application.NavigatorConfigurationService;
import com.constellio.data.utils.TimeProvider;
import com.constellio.model.entities.records.Transaction;
import com.constellio.model.entities.records.wrappers.Event;
import com.constellio.model.entities.records.wrappers.EventType;
import com.constellio.model.entities.records.wrappers.RecordWrapper;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.entities.schemas.Schemas;
import com.constellio.model.services.logging.LoggingServices;
import com.constellio.model.services.records.RecordServices;
import com.constellio.model.services.records.RecordServicesException;
import com.constellio.model.services.security.AuthorizationsServices;
import com.constellio.sdk.tests.ConstellioTest;
import com.constellio.sdk.tests.annotations.InDevelopmentTest;
import com.constellio.sdk.tests.annotations.UiTest;
import com.constellio.sdk.tests.selenium.adapters.constellio.ConstellioWebDriver;
import com.constellio.sdk.tests.setups.Users;
import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
import static com.constellio.app.ui.i18n.i18n.$;
import static org.assertj.core.api.Assertions.assertThat;
@UiTest
@InDevelopmentTest
public class EventCategoriesViewAcceptanceTest extends ConstellioTest {
ConstellioWebDriver driver;
EventcategoriesFacade1 eventCategoriesFacade;
RecordServices recordServices;
private RMTestRecords records = new RMTestRecords(zeCollection);
RMSchemasRecordsServices rm;
LoggingServices loggingServices;
AuthorizationsServices authorizationsServices;
LocalDateTime testDate = new LocalDateTime().minusDays(1);
Users users = new Users();
@Before
public void setUp()
throws Exception {
prepareSystem(
withZeCollection().withConstellioRMModule().withAllTest(users).withRMTest(records)
.withFoldersAndContainersOfEveryStatus().withEvents()
);
inCollection(zeCollection).giveReadAccessTo(admin).setCollectionTitleTo("Collection de test");
rm = new RMSchemasRecordsServices(zeCollection, getAppLayerFactory());
recordServices = getModelLayerFactory().newRecordServices();
loggingServices = getModelLayerFactory().newLoggingServices();
authorizationsServices = getModelLayerFactory().newAuthorizationsServices();
driver = newWebDriver(loggedAsUserInCollection("admin", zeCollection));
eventCategoriesFacade = new EventcategoriesFacade1(driver);
}
private Folder createFolder(AdministrativeUnit administrativeUnit) {
Folder folder = rm.newFolder();
folder.setAdministrativeUnitEntered(administrativeUnit.getId());
folder.setCategoryEntered(records.categoryId_X110);
folder.setTitle("Ze folder");
folder.setOpenDate(new LocalDate());
folder.setCloseDateEntered(new LocalDate());
return folder;
}
@Test
public void navigateToEachCategoryAndReturn()
throws Exception {
navigateToEventsList();
navigateToCategoryAndReturn(CategoriesConsts.SYSTEM_USAGE_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.FOLDERS_AND_DOCUMENTS_CREATION_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.FOLDERS_AND_DOCUMENTS_MODIFICATION_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.FOLDERS_AND_DOCUMENTS_DELETION_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.CURRENTLY_BORROWED_DOCUMENTS_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.DOCUMENTS_BORROW_OR_RETURN_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.BY_ADMINISTRATIVE_UNIT_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.BY_FOLDER_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.BY_USER_CATEGORY_TITLE);
navigateToCategoryAndReturn(CategoriesConsts.DECOMMISSIONING_CATEGORY_TITLE);
}
@Test
public void validateSystemUsageDefaultView()
throws Exception {
navigateToSystemUsageEventCategory();
BaseEventCategoryFacade systemUsageEventCategoryFacade = new BaseEventCategoryFacade(driver);
validateAllStatValuesAreEmpty(systemUsageEventCategoryFacade);
assertThat(systemUsageEventCategoryFacade.getStatsCount()).isEqualTo(1);
assertThat(systemUsageEventCategoryFacade.getStatCaption(CategoriesConsts.OPENED_SESSIONS_INDEX_IN_SYSTEM_USAGE_CATEGORY))
.isEqualTo($("ListEventsView.openedSessions"));
}
@Test
public void validateUsersAndGroupsAddOrRemoveDefaultView()
throws Exception {
navigateToUsersAndGroupsAddOrRemove();
BaseEventCategoryFacade systemUsageEventCategoryFacade = new BaseEventCategoryFacade(driver);
validateAllStatValuesAreEmpty(systemUsageEventCategoryFacade);
assertThat(systemUsageEventCategoryFacade.getStatsCount()).isEqualTo(4);
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.ADD_USER_STAT_INDEX_IN_USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY))
.isEqualTo($("ListEventsView.createdUsersEvent"));
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.REMOVE_USER_STAT_INDEX_IN_USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY))
.isEqualTo($("ListEventsView.deletedUsersEvent"));
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.ADD_GROUP_STAT_INDEX_IN_USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY))
.isEqualTo($("ListEventsView.createdGroupsEvent"));
assertThat(
systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.REMOVE_GROUP_STAT_INDEX_IN_USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY))
.isEqualTo(
$("ListEventsView.deletedGroupsEvent"));
}
@Test
public void validateFoldersAndDocumentsCreationDefaultView()
throws Exception {
navigateToFoldersAndDocumentsCreation();
BaseEventCategoryFacade systemUsageEventCategoryFacade = new BaseEventCategoryFacade(driver);
validateAllStatValuesAreEmpty(systemUsageEventCategoryFacade);
assertThat(systemUsageEventCategoryFacade.getStatsCount()).isEqualTo(2);
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.FOLDERS_CREATION_IN_FOLDERS_AND_DOCUMENTS_CREATION_CATEGORY))
.isEqualTo($("ListEventsView.foldersCreation"));
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.DOCUMENTS_CREATION_IN_FOLDERS_AND_DOCUMENTS_CREATION_CATEGORY))
.isEqualTo($("ListEventsView.documentsCreation"));
}
@Test
public void validateFoldersAndDocumentsModificationDefaultView()
throws Exception {
navigateToFoldersAndDocumentsModification();
BaseEventCategoryFacade systemUsageEventCategoryFacade = new BaseEventCategoryFacade(driver);
validateAllStatValuesAreEmpty(systemUsageEventCategoryFacade);
assertThat(systemUsageEventCategoryFacade.getStatsCount()).isEqualTo(2);
assertThat(systemUsageEventCategoryFacade.getStatCaption(
CategoriesConsts.FOLDERS_MODIFICATION_IN_FOLDERS_AND_DOCUMENTS_MODIFICATION_CATEGORY))
.isEqualTo($("ListEventsView.foldersModification"));
assertThat(systemUsageEventCategoryFacade.getStatCaption(
CategoriesConsts.DOCUMENTS_MODIFICATION_IN_FOLDERS_AND_DOCUMENTS_MODIFICATION_CATEGORY)).isEqualTo(
$("ListEventsView.documentsModification"));
}
@Test
public void validateFoldersAndDocumentsDeletionDefaultView()
throws Exception {
navigateToFoldersAndDocumentsDeletion();
BaseEventCategoryFacade systemUsageEventCategoryFacade = new BaseEventCategoryFacade(driver);
validateAllStatValuesAreEmpty(systemUsageEventCategoryFacade);
assertThat(systemUsageEventCategoryFacade.getStatsCount()).isEqualTo(2);
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.FOLDERS_DELETION_IN_FOLDERS_AND_DOCUMENTS_DELETION_CATEGORY))
.isEqualTo($("ListEventsView.foldersDeletion"));
assertThat(systemUsageEventCategoryFacade
.getStatCaption(CategoriesConsts.DOCUMENTS_DELETION_IN_FOLDERS_AND_DOCUMENTS_DELETION_CATEGORY))
.isEqualTo($("ListEventsView.documentsDeletion"));
}
@Test
public void whenOpenSessionThenStatsUpdated()
throws Exception {
Map<String, String> expectedEventValuesMap = openAdminSession();
recordServices.flush();
navigateToEventsList();
int openSessionCountInSystemUsage = getStatValueInEventCategory(
CategoriesConsts.OPENED_SESSIONS_INDEX_IN_SYSTEM_USAGE_CATEGORY, CategoriesConsts.SYSTEM_USAGE_CATEGORY_TITLE);
assertThat(openSessionCountInSystemUsage).isEqualTo(1);
int openSessionCountInByAdmin = getStatValueInEventCategory(
CategoriesConsts.OPEN_SESSION_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE,
users.admin().getUsername());
assertThat(openSessionCountInByAdmin).isEqualTo(1);
this.eventCategoriesFacade.loadEvent(CategoriesConsts.SYSTEM_USAGE_CATEGORY_TITLE,
CategoriesConsts.OPENED_SESSIONS_INDEX_IN_SYSTEM_USAGE_CATEGORY);
validateEventViewValues(expectedEventValuesMap);
waitUntilICloseTheBrowsers();
}
private Map<String, String> openAdminSession() {
User adminUser = users.adminIn(zeCollection);
adminUser.setLastIPAddress("192.168.1.1");
loggingServices.login(adminUser);
Map<String, String> expectedEventValuesMap = new HashMap<>();
expectedEventValuesMap.put("IP", "192.168.1.1");
expectedEventValuesMap.put("Utilisateur", adminUser.getUsername());
expectedEventValuesMap.put("RĂ´les (utilisateur)", "RGD");
return expectedEventValuesMap;
}
@Test
public void whenCloseSessionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
int openSessionCountInSystemUsage = getStatValueInEventCategory(
CategoriesConsts.OPENED_SESSIONS_INDEX_IN_SYSTEM_USAGE_CATEGORY, CategoriesConsts.SYSTEM_USAGE_CATEGORY_TITLE);
assertThat(openSessionCountInSystemUsage).isEqualTo(1);
int openSessionCountInByUser = getStatValueInEventCategory(
CategoriesConsts.OPEN_SESSION_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE);
assertThat(openSessionCountInByUser).isEqualTo(1);
}
@Test
public void whenVerifyStatsBorrowedCurrentLyBorrowedAndLateFoldersThenOk()
throws Exception {
LocalDateTime nowDateTime = TimeProvider.getLocalDateTime();
givenTimeIs(nowDateTime);
LocalDate previewReturnDate = nowDateTime.plusDays(15).toLocalDate();
BorrowingServices borrowingServices = new BorrowingServices(zeCollection, getModelLayerFactory());
borrowingServices
.borrowFolder(records.getFolder_C30().getId(), nowDateTime.toLocalDate(), previewReturnDate, records.getAdmin(),
records.getEdouard_managerInB_userInC(), BorrowingType.BORROW, true);
recordServices.flush();
navigateToEventsList();
int currentlyBorrowFoldersByEdouard = getStatValueInEventCategory(
CategoriesConsts.FOLDER_CURRENTLY_BORROW_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE,
users.edouardIn(zeCollection).getUsername());
assertThat(currentlyBorrowFoldersByEdouard).isEqualTo(1);
int BorrowFoldersByEdouard = getStatValueInEventCategory(
CategoriesConsts.FOLDER_BORROW_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE,
users.edouardIn(zeCollection).getUsername());
assertThat(BorrowFoldersByEdouard).isEqualTo(1);
givenTimeIs(nowDateTime.plusDays(16));
int lateFoldersByEdouard = getStatValueInEventCategory(
CategoriesConsts.FOLDER_LATE_RETURN_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE,
users.edouardIn(zeCollection).getUsername());
assertThat(lateFoldersByEdouard).isEqualTo(1);
}
@Test
public void whenBorrowedFolderThenOk()
throws Exception {
LocalDateTime nowDateTime = TimeProvider.getLocalDateTime();
LocalDate previewReturnDate = nowDateTime.plusDays(15).toLocalDate();
BorrowingServices borrowingServices = new BorrowingServices(zeCollection, getModelLayerFactory());
borrowingServices
.borrowFolder(records.getFolder_C30().getId(), nowDateTime.toLocalDate(), previewReturnDate, records.getAdmin(),
records.getEdouard_managerInB_userInC(), BorrowingType.BORROW, true);
recordServices.flush();
navigateToEventsList();
int currentlyBorrowFoldersByEdouard = getStatValueInEventCategory(
CategoriesConsts.DOCUMENT_BORROW_STAT_INDEX_IN_BY_USER_CATEGORY, CategoriesConsts.BY_USER_CATEGORY_TITLE,
users.edouardIn(zeCollection).getUsername());
assertThat(currentlyBorrowFoldersByEdouard).isEqualTo(1);
}
@Test
public void whenViewFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenCreateFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenModifyFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenBorrowFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenReturnFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenViewDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenCreateDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenModifyDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenBorrowDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenReturnDocumentThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenAddUserThenStatsUpdated()
throws Exception {
Map<String, String> expectedEventValuesMap = addUserClaraByAdminInAdminUnit11();
recordServices.flush();
navigateToEventsList();
assertThat(getAddUserStatInUsersAndGroupsAddOrRemoveView()).isEqualTo(1);
assertThat(getAddUserStatInByUserView(users.admin().getUsername())).isEqualTo(1);
this.eventCategoriesFacade.loadEvent(
CategoriesConsts.USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY_TITLE,
CategoriesConsts.ADD_USER_STAT_INDEX_IN_BY_ADMINISTRATIVE_UNIT_CATEGORY);
validateEventViewValues(expectedEventValuesMap);
}
@Test
public void whenModifyUserThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteUserThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenAddGroupThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenModifyGroupThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteGroupThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenGrantFolderPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenModifyFolderPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteFolderPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenGrantDocumentPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenModifyDocumentPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDeleteDocumentPermissionThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenRelocateFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDepositFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
@Test
public void whenDestructFolderThenStatsUpdated()
throws Exception {
recordServices.flush();
navigateToEventsList();
}
private void validateEventViewValues(Map<String, String> expectedEventValuesMap) {
EventViewFacade eventViewFacade = new EventViewFacade(driver);
for (String key : expectedEventValuesMap.keySet()) {
String expectedValue = expectedEventValuesMap.get(key);
String currentValue = eventViewFacade.getFirstEventValueAtColumn(key);
assertThat(currentValue).isEqualTo(expectedValue);
}
}
private Map<String, String> addUserClaraByAdminInAdminUnit11() {
addUserInAdminUnit("Clara", users.adminIn(zeCollection), rm.getAdministrativeUnit(records.unitId_11));
Map<String, String> expectedEventValuesMap = new HashMap<>();
expectedEventValuesMap.put("", "");
return expectedEventValuesMap;
}
private int getAddUserStatInByUserView(String username) {
return getStatValueInEventCategory(CategoriesConsts.ADD_USER_STAT_INDEX_IN_BY_USER_CATEGORY,
CategoriesConsts.BY_USER_CATEGORY_TITLE, username);
}
private int getAddUserStatInUsersAndGroupsAddOrRemoveView() {
return getStatValueInEventCategory(CategoriesConsts.ADD_USER_STAT_INDEX_IN_USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY,
CategoriesConsts.USERS_AND_GROUPS_ADD_OR_REMOVE_CATEGORY_TITLE);
}
private int getStatValueInEventCategory(int statIndex, String eventCategoryTitle, String byIdValue) {
return this.eventCategoriesFacade.getStatValue(statIndex, eventCategoryTitle, byIdValue);
}
private int getStatValueInEventCategory(int statIndex, String eventCategoryTitle) {
return getStatValueInEventCategory(statIndex, eventCategoryTitle, null);
}
private void addUserInAdminUnit(String username, User user, AdministrativeUnit administrativeUnit) {
User userToAdd = rm.newUser();
userToAdd.setUsername(username);
addAuthorizationForUserToAccessAdministrativeUnit(userToAdd, administrativeUnit);
loggingServices.addUser(userToAdd.getWrappedRecord(), user);
}
private void addAuthorizationForUserToAccessAdministrativeUnit(User userToAdd, AdministrativeUnit administrativeUnit) {
authorizationsServices.canWrite(userToAdd, administrativeUnit.getWrappedRecord());
}
private void validateAllStatValuesAreEmpty(BaseEventCategoryFacade baseEventCategoryFacade) {
for (int value : baseEventCategoryFacade.getValues()) {
assertThat(value).isEqualTo(0);
}
}
private void navigateToSystemUsageEventCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.SYSTEM_USAGE);
}
private void navigateToUsersAndGroupsAddOrRemove() {
driver.navigateTo()
.url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.USERS_AND_GROUPS_ADD_OR_REMOVE);
}
private void navigateToFoldersAndDocumentsCreation() {
driver.navigateTo()
.url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.FOLDERS_AND_DOCUMENTS_CREATION);
}
private void navigateToFoldersAndDocumentsModification() {
driver.navigateTo()
.url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.FOLDERS_AND_DOCUMENTS_MODIFICATION);
}
private void navigateToFoldersAndDocumentsDeletion() {
driver.navigateTo()
.url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.FOLDERS_AND_DOCUMENTS_DELETION);
}
private void navigateToCurrentlyBorrowedDocumentsCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.CURRENTLY_BORROWED_DOCUMENTS);
}
private void navigateToDocumentsBorrowOrReturnCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.DOCUMENTS_BORROW_OR_RETURN);
}
private void navigateByAdministrativeUnitCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.EVENTS_BY_ADMINISTRATIVE_UNIT);
}
private void navigateToByFolderCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.EVENTS_BY_FOLDER);
}
private void navigateToByUserCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.EVENTS_BY_USER);
}
private void navigateDecommissioningCategory() {
driver.navigateTo().url(NavigatorConfigurationService.EVENT_CATEGORY + "/" + EventCategory.DECOMMISSIONING_EVENTS);
}
private void navigateToCategoryAndReturn(String categoryTitle) {
BaseEventCategoryFacade baseEventCategoryFacade = eventCategoriesFacade.loadCategory(categoryTitle);
baseEventCategoryFacade.returnToPreviousPage();
}
private void navigateToEventsList() {
driver.navigateTo().url(NavigatorConfigurationService.EVENTS_LIST);
}
private RecordWrapper createDocument(String creatorUserName, LocalDateTime eventDate) {
return createDocument(creatorUserName).setCreatedOn(eventDate);
}
private Event createDocument(String creatorUserName) {
return rm.newEvent().setUsername(creatorUserName).setType(EventType.CREATE_DOCUMENT);
}
private RecordWrapper createFolderEvent(String creatorUserName, LocalDateTime eventDate) {
return createFolderEvent(creatorUserName).setCreatedOn(eventDate);
}
private Event createFolderEvent(String creatorUserName) {
return rm.newEvent().setUsername(creatorUserName).setType(EventType.CREATE_FOLDER);
}
private Event createFolderEvent(String creatorUserName, Folder folder) {
String folderId = folder.getId();
String principalPath = folder.getWrappedRecord().get(Schemas.PRINCIPAL_PATH);
Event event = rm.newEvent().setUsername(creatorUserName).setType(EventType.CREATE_FOLDER).setRecordId(folderId)
.setEventPrincipalPath(principalPath);
return event;
}
private void toDelete()
throws RecordServicesException {
//users = new Users().using(getModelLayerFactory().newUserServices());
users = records.getUsers();
User user = users.charlesIn(zeCollection);
String username = user.getUsername();
System.out.println(user.getId());//00000000006
Transaction transaction = new Transaction();
transaction
.add(createDocument(username, testDate.minusDays(1)));
transaction.add(createFolderEvent(username, testDate));
AdministrativeUnit administrativeUnit = records.getUnit10();
System.out.println("au :" + administrativeUnit.getId());//unitId_10
Folder folder = createFolder(administrativeUnit);
getModelLayerFactory().newRecordServices().execute(transaction);
Event event = createFolderEvent(username, folder);
transaction
.add(event);
recordServices.execute(transaction);
}
}