package com.faforever.client.hub; import com.faforever.client.i18n.I18n; import com.faforever.client.news.NewsItem; import com.faforever.client.news.NewsService; import com.faforever.client.theme.ThemeService; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.image.ImageView; import org.jsoup.Jsoup; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.util.List; public class LastNewsController { @FXML Label textLabel; @FXML Label titleLabel; @FXML Label authoredLabel; @FXML Node lastNewsRoot; @FXML ImageView imageView; @Resource NewsService newsService; @Resource I18n i18n; @Resource ThemeService themeService; public Node getRoot() { return lastNewsRoot; } @PostConstruct void postConstruct() { List<NewsItem> newsItems = newsService.fetchNews(); if (!newsItems.isEmpty()) { NewsItem newsItem = newsItems.get(0); authoredLabel.setText(i18n.get("news.authoredFormat", newsItem.getAuthor(), newsItem.getDate())); titleLabel.setText(newsItem.getTitle()); String text = Jsoup.parse(newsItem.getContent()).text(); textLabel.setText(text); } // TODO only use this if there's no thumbnail. However, there's never a thumbnail ATM. imageView.setImage(themeService.getThemeImage(ThemeService.DEFAULT_NEWS_IMAGE)); } }