/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.ext.uberfire.social.activities.persistence; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.google.gson.Gson; import org.ext.uberfire.social.activities.model.DefaultTypes; import org.ext.uberfire.social.activities.model.SocialActivitiesEvent; import org.ext.uberfire.social.activities.model.SocialEventType; import org.ext.uberfire.social.activities.model.SocialUser; import org.ext.uberfire.social.activities.repository.SocialEventTypeRepository; import org.ext.uberfire.social.activities.security.SocialSecurityConstraintsManager; import org.uberfire.io.IOService; public class SocialTimelineCacheInstancePersistenceUnitTestWrapper extends SocialTimelineCacheInstancePersistence { public SocialTimelineCacheInstancePersistenceUnitTestWrapper() { super(null, null, null, null, null, null, null, null); } public SocialTimelineCacheInstancePersistenceUnitTestWrapper(SocialSecurityConstraintsManager socialSecurityConstraintsManager) { super(null, null, null, null, null, null, null, socialSecurityConstraintsManager); } public SocialTimelineCacheInstancePersistenceUnitTestWrapper(Gson gson, Type gsonCollectionType, IOService ioService, SocialEventTypeRepository socialEventTypeRepository, SocialUserClusterPersistence socialUserService) { super(gson, gsonCollectionType, ioService, socialEventTypeRepository, socialUserService, null, null, null); } @Override void cacheControl(SocialUser user) { } @Override void cacheControl(SocialActivitiesEvent event) { } @Override public Integer getUserMostRecentFileIndex(SocialUser user) { return 5; } public Integer getTypeMostRecentFileIndex(SocialEventType type) { return 5; } SocialEventType findType(SocialActivitiesEvent event) { return DefaultTypes.DUMMY_EVENT; } @Override public List<SocialActivitiesEvent> getTimeline(SocialUser socialUser, String timelineFile) { return createFakeTimeline(timelineFile); } @Override public List<SocialActivitiesEvent> getTimeline(SocialEventType type, String timelineFile) { return createFakeTimeline(timelineFile); } private List<SocialActivitiesEvent> createFakeTimeline(String timelineFile) { if (timelineFile.equals("5")) { return createTimeline("5", 5); } if (timelineFile.equals("4")) { return createTimeline("4", 5); } if (timelineFile.equals("3")) { return createTimeline("3", 5); } if (timelineFile.equals("2")) { return createTimeline("2", 5); } if (timelineFile.equals("1")) { //empty timeline return new ArrayList<SocialActivitiesEvent>(); } if (timelineFile.equals("0")) { return createTimeline("0", 5); } throw new RuntimeException(); } private List<SocialActivitiesEvent> createTimeline(String name, int numEvents) { List<SocialActivitiesEvent> events = new ArrayList<SocialActivitiesEvent>(); for (int i = 0; i < numEvents; i++) { events.add(new SocialActivitiesEvent(new SocialUser(name), DefaultTypes.DUMMY_EVENT, new Date()).withAdicionalInfo(i + "")); } return events; } @Override public Integer getNumberOfEventsOnFile(SocialUser socialUser, String originalFilename) { return -1; } @Override public Integer getNumberOfEventsOnFile(SocialEventType type, String originalFilename) { return -1; } }