1 package ru.indvdum.mywork.vaadin;
3 import static ru.indvdum.mywork.MyWork.EM;
7 import javax.persistence.Query;
9 import ru.indvdum.mywork.openjpa.model.Day;
10 import ru.indvdum.mywork.openjpa.model.Task;
11 import ru.indvdum.mywork.openjpa.model.Work;
13 import com.vaadin.Application;
14 import com.vaadin.addon.jpacontainer.JPAContainer;
15 import com.vaadin.addon.jpacontainer.provider.LocalEntityProvider;
16 import com.vaadin.ui.Alignment;
17 import com.vaadin.ui.Button;
18 import com.vaadin.ui.HorizontalLayout;
19 import com.vaadin.ui.TabSheet;
20 import com.vaadin.ui.Table;
21 import com.vaadin.ui.VerticalLayout;
22 import com.vaadin.ui.Window;
23 import com.vaadin.ui.Button.ClickEvent;
24 import com.vaadin.ui.Button.ClickListener;
31 public class MyWorkApplication extends Application {
35 Window window = new Window();
36 setMainWindow(window);
38 Query query = EM.createQuery("select x from " + Work.class.getName() + " x");
39 List list = query.getResultList();
42 TabSheet tabSheet = new TabSheet();
43 tabSheet.setSizeFull();
44 window.setContent(tabSheet);
46 VerticalLayout vlMain = new VerticalLayout();
47 vlMain.setMargin(true);
48 vlMain.setSpacing(true);
49 tabSheet.addTab(vlMain, "Main page", null);
51 LocalEntityProvider dayProvider = new LocalEntityProvider(Day.class);
52 dayProvider.setEntityManager(EM);
53 JPAContainer<Day> dayContainer = new JPAContainer(Day.class);
54 dayContainer.setEntityProvider(dayProvider);
56 final Table dayTable = new Table();
57 dayTable.setSelectable(true);
58 dayTable.setEditable(false);
59 dayTable.setImmediate(true);
60 dayTable.setSizeFull();
61 dayTable.setContainerDataSource(dayContainer);
62 vlMain.addComponent(dayTable);
63 vlMain.setExpandRatio(dayTable, 1f);
65 LocalEntityProvider taskProvider = new LocalEntityProvider(Task.class);
66 taskProvider.setEntityManager(EM);
67 JPAContainer<Task> taskContainer = new JPAContainer(Task.class);
68 taskContainer.setEntityProvider(taskProvider);
70 Table taskTable = new Table();
71 taskTable.setSelectable(true);
72 taskTable.setEditable(false);
73 taskTable.setImmediate(true);
74 taskTable.setSizeFull();
75 taskTable.setContainerDataSource(taskContainer);
76 vlMain.addComponent(taskTable);
77 vlMain.setExpandRatio(taskTable, 1f);