1 package eu
.etaxonomy
.cdm
.vaadin
.ui
;
3 import org
.apache
.log4j
.Logger
;
4 import org
.springframework
.beans
.factory
.annotation
.Autowired
;
5 import org
.springframework
.context
.ApplicationEventPublisher
;
7 import com
.vaadin
.annotations
.Theme
;
8 import com
.vaadin
.annotations
.Title
;
9 import com
.vaadin
.annotations
.Widgetset
;
10 import com
.vaadin
.navigator
.Navigator
;
11 import com
.vaadin
.navigator
.View
;
12 import com
.vaadin
.navigator
.ViewDisplay
;
13 import com
.vaadin
.server
.Page
;
14 import com
.vaadin
.server
.Responsive
;
15 import com
.vaadin
.server
.VaadinRequest
;
16 import com
.vaadin
.spring
.annotation
.SpringUI
;
17 import com
.vaadin
.spring
.navigator
.SpringViewProvider
;
18 import com
.vaadin
.ui
.UI
;
20 import eu
.etaxonomy
.cdm
.vaadin
.security
.ReleasableResourcesView
;
21 import eu
.etaxonomy
.cdm
.vaadin
.view
.RedirectToLoginView
;
22 import eu
.etaxonomy
.cdm
.vaadin
.view
.distributionStatus
.DistributionTableViewBean
;
23 import eu
.etaxonomy
.vaadin
.ui
.UIInitializedEvent
;
24 import eu
.etaxonomy
.vaadin
.ui
.navigation
.NavigationManagerBean
;
27 @Title("Distribution Editor")
28 @SpringUI(path
="distribution")
29 @Widgetset("eu.etaxonomy.cdm.vaadin.AppWidgetSet")
30 @SuppressWarnings("serial")
31 public class DistributionStatusUI
extends UI
{
33 private final static Logger logger
= Logger
.getLogger(DistributionStatusUI
.class);
35 private ViewDisplay viewDisplay
;
37 //---- pull into abstract super class ? ---------
39 SpringViewProvider viewProvider
;
42 NavigationManagerBean navigator
;
44 protected void configureAccessDeniedView() {
45 viewProvider
.setAccessDeniedViewClass(RedirectToLoginView
.class);
51 private String
pageFragmentAsState() {
52 Page page
= Page
.getCurrent();
53 String fragment
= page
.getUriFragment();
55 if(fragment
!= null && fragment
.startsWith("!")){
56 state
= fragment
.substring(1, fragment
.length());
60 //---------------------------------------------
62 public static final String INITIAL_VIEW
= DistributionTableViewBean
.NAME
;
65 // @Qualifier("registrationToolbar")
66 // private Toolbar toolbar;
69 ApplicationEventPublisher eventBus
;
71 public DistributionStatusUI() {
76 protected void init(VaadinRequest request
) {
78 addDetachListener(e
-> {
79 for(String viewName
: viewProvider
.getViewNamesForCurrentUI()){
80 View view
= viewProvider
.getView(viewName
);
81 if(view
!= null && view
instanceof ReleasableResourcesView
) {
82 ((ReleasableResourcesView
)view
).releaseResourcesOnAccessDenied();
88 configureAccessDeniedView();
90 Responsive
.makeResponsive(this);
92 viewDisplay
= new Navigator
.SingleComponentContainerViewDisplay(this);
93 navigator
.setViewDisplay(viewDisplay
);
94 //setContent((Component) viewDisplay);
96 // if(ToolbarDisplay.class.isAssignableFrom(viewDisplay.getClass())){
97 // ((ToolbarDisplay)viewDisplay).setToolbar(toolbar);
100 eventBus
.publishEvent(new UIInitializedEvent());
102 navigator
.setDefaultViewName(INITIAL_VIEW
);