Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eu.cz.cvut.fit.bitjv.semestralka.client;
- import javax.servlet.annotation.WebServlet;
- import com.vaadin.annotations.Theme;
- import com.vaadin.annotations.VaadinServletConfiguration;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.server.VaadinServlet;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.DateField;
- import com.vaadin.ui.FormLayout;
- import com.vaadin.ui.Grid;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.TabSheet;
- import com.vaadin.ui.TextField;
- import com.vaadin.ui.UI;
- import com.vaadin.ui.VerticalLayout;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.Hra;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.HraContainer;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.Hrac;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.HracContainer;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.Hrdina;
- import eu.cz.cvut.fit.bitjv.semestralka.entities.HrdinaContainer;
- import java.math.BigDecimal;
- import java.math.BigInteger;
- import java.util.Date;
- import java.util.List;
- import java.time.ZoneId;
- import java.util.ArrayList;
- import java.util.Set;
- /**
- * This UI is the application entry point. A UI may either represent a browser
- * window (or tab) or some part of an HTML page where a Vaadin application is
- * embedded.
- * <p>
- * The UI is initialized using {@link #init(VaadinRequest)}. This method is
- * intended to be overridden to add component to the user interface and
- * initialize non-component functionality.
- */
- @Theme("mytheme")
- public class MyUI extends UI {
- private Grid<Hra> hraGrid;
- FormLayout hraForm;
- @Override
- protected void init(VaadinRequest vaadinRequest) {
- final VerticalLayout layout = new VerticalLayout();
- TabSheet tabs = new TabSheet();
- tabs.setSizeFull();
- HorizontalLayout hraTab = initHraTab();
- HorizontalLayout hracTab = initHracTab();
- HorizontalLayout hrdinaTab = initHrdinaTab();
- tabs.addComponents(hraTab, hracTab, hrdinaTab);
- // tabs.addComponents(hraTab, hracTab);
- // tabs.addComponents(hraTab);
- layout.addComponents(tabs);
- setContent(layout);
- }
- private HorizontalLayout initHraTab() {
- HorizontalLayout tab = new HorizontalLayout();
- tab.setCaption("Hra");
- TabSheet tabs = new TabSheet();
- VerticalLayout list = initHraListTab();
- FormLayout form = initHraForm("1");
- tabs.addComponents(list, form);
- tab.addComponents(list, form);
- return tab;
- }
- private VerticalLayout initHraListTab() {
- VerticalLayout list = new VerticalLayout();
- list.setCaption("List");
- try {
- HraClient hraClient = new HraClient();
- HraContainer hc = hraClient.findAll_JSON(HraContainer.class);
- // System.out.println((Hra)hc.get(0));
- hraGrid = initHraGrid(hc.getHry());
- hraGrid.addSelectionListener(event -> {
- Set<Hra> selected = event.getAllSelectedItems();
- if (selected.size() > 0) {
- Hra hra = selected.stream().findFirst().get();
- ((TextField) hraForm.getComponent(0)).setValue(hra.getIdHra().toString());
- ((DateField) hraForm.getComponent(1)).setValue(hra.getStarted().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
- ((DateField) hraForm.getComponent(2)).setValue(hra.getEnded().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
- ((TextField) hraForm.getComponent(3)).setValue(hra.getGameDetails());
- ((TextField) hraForm.getComponent(4)).setValue(hra.getIdMapa().toString());
- } else {
- ((TextField) hraForm.getComponent(0)).setValue("");
- ((DateField) hraForm.getComponent(1)).setValue(null);
- ((DateField) hraForm.getComponent(2)).setValue(null);
- ((TextField) hraForm.getComponent(3)).setValue("");
- ((TextField) hraForm.getComponent(4)).setValue("");
- }
- });
- list.addComponent(hraGrid);
- } catch (Exception ex) {
- Label error = new Label();
- error.setCaption("Error occured: " + ex.getMessage());
- list.addComponent(error);
- }
- return list;
- }
- private FormLayout initHraForm(String id) {
- // User Form
- hraForm = new FormLayout();
- hraForm.setCaption("CRUD");
- TextField utf0 = new TextField("ID");
- utf0.setEnabled(false);
- DateField utf1 = new DateField("Started");
- DateField utf2 = new DateField("Ended");
- TextField utf3 = new TextField("Game details");
- TextField utf4 = new TextField("Map ID");
- Button ub1 = new Button("Editovat");
- Button ub2 = new Button("Smazat");
- Button ub3 = new Button("Vytvořit");
- HraClient hraClient = new HraClient();
- ub1.addClickListener(e -> {
- Hra hra = new Hra();
- hra.setIdHra(BigDecimal.valueOf(Long.parseLong(utf0.getValue())));
- hra.setStarted(Date.from(utf1.getValue().atStartOfDay(ZoneId.systemDefault()).toInstant()));
- hra.setEnded(Date.from(utf2.getValue().atStartOfDay(ZoneId.systemDefault()).toInstant()));
- hra.setGameDetails(utf3.getValue());
- hra.setIdMapa(BigInteger.valueOf(Long.parseLong(utf4.getValue())));
- hraClient.edit_XML(hra, utf0.getValue());
- hraGrid = initHraGrid(hraClient.findAll_XML(HraContainer.class).getHry());
- });
- ub2.addClickListener(e -> {
- hraClient.remove(utf0.getValue());
- hraGrid = initHraGrid(hraClient.findAll_XML(HraContainer.class).getHry());
- });
- ub3.addClickListener(e -> {
- Hra hra = new Hra();
- hra.setIdHra(BigDecimal.valueOf(Long.parseLong(utf0.getValue())));
- hra.setStarted(Date.from(utf1.getValue().atStartOfDay(ZoneId.systemDefault()).toInstant()));
- hra.setEnded(Date.from(utf2.getValue().atStartOfDay(ZoneId.systemDefault()).toInstant()));
- hra.setGameDetails(utf3.getValue());
- hra.setIdMapa(BigInteger.valueOf(Long.parseLong(utf4.getValue())));
- hraClient.create_XML(hra);
- hraGrid = initHraGrid(hraClient.findAll_XML(HraContainer.class).getHry());
- });
- hraForm.addComponents(utf0, utf1, utf2, utf3, utf4, new HorizontalLayout(ub1, ub2, ub3));
- return hraForm;
- }
- private Grid<Hra> initHraGrid(List<Hra> hry) {
- Grid<Hra> grid = new Grid<>();
- grid.setSizeFull();
- grid.setItems(hry);
- grid.addColumn(Hra::getIdHra).setCaption("ID");
- grid.addColumn(Hra::getStarted).setCaption("Started");
- grid.addColumn(Hra::getEnded).setCaption("Ended");
- grid.addColumn(Hra::getGameDetails).setCaption("Game details");
- grid.addColumn(Hra::getIdMapa).setCaption("Map ID");
- return grid;
- }
- private Grid<Hrac> initHracGrid(List<Hrac> hraci) {
- Grid<Hrac> grid = new Grid<>();
- grid.setSizeFull();
- grid.setItems(hraci);
- grid.addColumn(Hrac::getIdHrac).setCaption("ID");
- grid.addColumn(Hrac::getPrezdivka).setCaption("Nickname");
- grid.addColumn(Hrac::getUsername).setCaption("Username");
- return grid;
- }
- private HorizontalLayout initHracTab() {
- HorizontalLayout tab = new HorizontalLayout();
- tab.setCaption("Hrac");
- try {
- HracClient hracClient = new HracClient();
- tab.addComponent(initHracGrid(hracClient.findAll_JSON(HracContainer.class).getHrace()));
- } catch (Exception ex) {
- Label error = new Label();
- error.setCaption("Error occured: " + ex.getMessage());
- tab.addComponent(error);
- }
- return tab;
- }
- private HorizontalLayout initHrdinaTab() {
- HorizontalLayout tab = new HorizontalLayout();
- tab.setCaption("Hrdina");
- try {
- HrdinaClient hracClient = new HrdinaClient();
- tab.addComponent(initHrdinaGrid(hracClient.findAll_XML(HrdinaContainer.class).getHrdiny()));
- } catch (Exception ex) {
- Label error = new Label();
- error.setCaption("Error occured: " + ex.getMessage());
- tab.addComponent(error);
- }
- return tab;
- }
- private Grid<Hrdina> initHrdinaGrid(List<Hrdina> hrdinove) {
- Grid<Hrdina> grid = new Grid<>();
- grid.setSizeFull();
- grid.setItems(hrdinove);
- grid.addColumn(Hrdina::getIdHrdina).setCaption("ID");
- grid.addColumn(Hrdina::getJmenoHrdina).setCaption("Name");
- grid.addColumn(Hrdina::getPopisHrdina).setCaption("Description");
- return grid;
- }
- @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
- @VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
- public static class MyUIServlet extends VaadinServlet {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment