Search in sources :

Example 1 with SiteImage

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;
}
Also used : Post(com.nixmash.blog.jpa.model.Post) SiteImage(com.nixmash.blog.jpa.model.SiteImage)

Example 2 with SiteImage

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);
}
Also used : SiteImage(com.nixmash.blog.jpa.model.SiteImage) Test(org.junit.Test)

Example 3 with SiteImage

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());
}
Also used : SiteImage(com.nixmash.blog.jpa.model.SiteImage) Test(org.junit.Test)

Example 4 with SiteImage

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;
}
Also used : SiteImage(com.nixmash.blog.jpa.model.SiteImage)

Example 5 with 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());
    }
}
Also used : SiteImage(com.nixmash.blog.jpa.model.SiteImage) Test(org.junit.Test)

Aggregations

SiteImage (com.nixmash.blog.jpa.model.SiteImage)12 Test (org.junit.Test)7 Post (com.nixmash.blog.jpa.model.Post)2 GitHubStats (com.nixmash.blog.jpa.model.GitHubStats)1 Transactional (org.springframework.transaction.annotation.Transactional)1