package fi.otavanopisto.muikku.plugins.fish;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import fi.otavanopisto.muikku.i18n.LocaleController;
import fi.otavanopisto.muikku.plugins.fish.model.FishMessage;
import fi.otavanopisto.muikku.session.SessionController;
import java.util.List;
import java.util.Random;
@Named
@RequestScoped
public class DatabaseFishWidgetBackingBean {
@Inject
private DatabaseFishWidgetController fishWidgetController;
@Inject
private LocaleController localeController;
@Inject
private SessionController sessionController;
public String getText() {
Long count = fishWidgetController.getCount();
if (count == null || count == 0) {
return localeController.getText(sessionController.getLocale(), "plugin.fish.noMessages");
} else if (count > Integer.MAX_VALUE) {
return localeController.getText(sessionController.getLocale(), "plugin.fish.tooManyMessages");
} else {
int index = new Random().nextInt(count.intValue());
return fishWidgetController.getText(index);
}
}
public List<FishMessage> getAllMessages() {
return fishWidgetController.getAllMessages();
}
public void removeById(Long id) {
fishWidgetController.removeById(id);
}
public String getPendingMessage() {
return pendingMessage;
}
public void setPendingMessage(String pendingMessage) {
this.pendingMessage = pendingMessage;
}
public void submitPendingMessage() {
fishWidgetController.addText(pendingMessage);
pendingMessage = "";
}
private String pendingMessage = "";
}