use of com.nixmash.blog.jpa.model.SiteImage in project nixmash-blog by mintster.
the class GeneralController method homeBannerDisplay.
@RequestMapping(value = "/dev/banner", method = GET)
public String homeBannerDisplay(Model model, @RequestParam(value = "id") long siteImageId) {
String springVersion = webUI.parameterizedMessage("home.spring.version", SpringBootVersion.getVersion());
model.addAttribute("springVersion", springVersion);
SiteImage siteImage = siteService.getHomeBanner(siteImageId);
model.addAttribute("siteImage", siteImage);
Slice<Post> posts = postService.getPublishedPosts(0, 10);
if (posts.getContent().size() > 0)
model.addAttribute("posts", posts);
return HOME_VIEW;
}
use of com.nixmash.blog.jpa.model.SiteImage in project nixmash-blog by mintster.
the class SiteImageRepoTests method getCurrentImageTest.
@Test
public void getCurrentImageTest() {
// Current SiteImage Id = 2 and dayOfYear = 100
SiteImage siteImage = siteImageRepository.findByIsCurrentTrueAndDayOfYear(1);
Assert.assertTrue(siteImage.getIsCurrent());
SiteImage nullImage = siteImageRepository.findByIsCurrentTrueAndDayOfYear(1000);
Assert.assertNull(nullImage);
}
use of com.nixmash.blog.jpa.model.SiteImage in project nixmash-blog by mintster.
the class SiteImageRepoTests method setCurrentImageTest.
@Test
public void setCurrentImageTest() {
// Current SiteImage Id = 2
// Default dayOfYear for all records = 1
SiteImage siteImage = siteImageRepository.findBySiteImageId(2L);
Assert.assertTrue(siteImage.getIsCurrent());
siteImage.setIsCurrent(false);
siteImageRepository.save(siteImage);
SiteImage retrieved = siteImageRepository.findBySiteImageId(2L);
Assert.assertFalse(retrieved.getIsCurrent());
}
use of com.nixmash.blog.jpa.model.SiteImage in project nixmash-blog by mintster.
the class SiteServiceImpl method getNewCurrentSiteImage.
private SiteImage getNewCurrentSiteImage() {
Collection<SiteImage> siteImages = siteImageRepository.findByBannerImageTrueAndIsActiveTrue();
int activeBannerCount = siteImages.size();
int randomNum = ThreadLocalRandom.current().nextInt(0, activeBannerCount);
SiteImage siteImage = (SiteImage) siteImages.toArray()[randomNum];
siteImage.setIsCurrent(true);
siteImageRepository.save(siteImage);
return siteImage;
}
use of com.nixmash.blog.jpa.model.SiteImage in project nixmash-blog by mintster.
the class SiteServiceTests method completeBannerOfTheDayTest.
@Test
public void completeBannerOfTheDayTest() {
for (int i = 1; i <= 365; i++) {
// clear all currentImage and dayOfYear data and save
Collection<SiteImage> all = siteImageRepository.findAll();
int finalI = i;
all.forEach(a -> {
a.setDayOfYear(finalI);
a.setIsCurrent(false);
});
siteImageRepository.save(all);
SiteImage currentSiteImage = siteImageRepository.findByIsCurrentTrueAndDayOfYear(i);
Assert.assertNull(currentSiteImage);
// retrieve active banners and select a random SiteImage from the array
Collection<SiteImage> siteImages = siteImageRepository.findByBannerImageTrueAndIsActiveTrue();
int activeBannerCount = siteImages.size();
int randomNum = ThreadLocalRandom.current().nextInt(0, activeBannerCount);
SiteImage siteImage = (SiteImage) siteImages.toArray()[randomNum];
// set random siteImage as current and save
siteImage.setIsCurrent(true);
siteImageRepository.save(siteImage);
// now we can retrieve a currentSiteImage and confirm its isCurrent property is true
currentSiteImage = siteImageRepository.findByIsCurrentTrueAndDayOfYear(i);
Assert.assertTrue(currentSiteImage.getIsCurrent());
}
}
Aggregations