package com.constellio.app.ui.framework.data.event.category; import static com.constellio.app.ui.i18n.i18n.$; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.joda.time.LocalDateTime; import com.constellio.app.modules.rm.services.events.RMEventsSearchServices; import com.constellio.app.services.factories.ConstellioFactories; import com.constellio.app.ui.framework.data.event.EventStatistics; import com.constellio.app.ui.pages.events.EventsCategoryDataProvider; import com.constellio.model.entities.records.wrappers.EventType; import com.constellio.model.entities.records.wrappers.User; import com.constellio.model.services.factories.ModelLayerFactory; import com.constellio.model.services.search.SearchServices; import com.constellio.model.services.search.query.logical.LogicalSearchQuery; public class UsersAndGroupsAddOrRemoveEventsDataProvider extends DefaultEventsDataProvider implements EventsCategoryDataProvider { public UsersAndGroupsAddOrRemoveEventsDataProvider(ModelLayerFactory modelLayerFactory, String collection, String currentUserName, LocalDateTime startDate, LocalDateTime endDate) { super(modelLayerFactory, collection, currentUserName, startDate, endDate, null); } @Override protected LogicalSearchQuery createSpecificQuery(ModelLayerFactory modelLayerFactory, User currentUser, String eventType, LocalDateTime startDate, LocalDateTime endDate, String id) { RMEventsSearchServices rmSchemasRecordsServices = new RMEventsSearchServices(modelLayerFactory, collection); return rmSchemasRecordsServices.newFindEventByDateRangeQuery(currentUser, eventType, startDate, endDate); } @Override public String getEventType(Integer index) { if(index == 0){ return EventType.CREATE_USER; }else if (index == 1){ return EventType.DELETE_USER; }else if (index == 2){ return EventType.CREATE_GROUP; }else { return EventType.DELETE_GROUP; } } @Override public int size() { return 4; } @Override protected int specificSize() { return size(); } @Override public String getDataTitle() { return $("ListEventsView.usersAndGroupsAddOrRemoveEvents"); } @Override public String getDataReportTitle() { return $("ListEventsView.usersAndGroupsAddOrRemoveEvents.allActivities"); } }