Project

General

Profile

Download (3.12 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin.ui;
2

    
3
import org.apache.log4j.Logger;
4
import org.springframework.beans.factory.annotation.Autowired;
5
import org.vaadin.spring.events.EventBus.UIEventBus;
6

    
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;
19

    
20
import eu.etaxonomy.cdm.vaadin.permission.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;
25

    
26
@Theme("macosx")
27
@Title("Distribution Editor")
28
@SpringUI(path="distribution")
29
@Widgetset("eu.etaxonomy.cdm.vaadin.AppWidgetSet")
30
@SuppressWarnings("serial")
31
public class DistributionStatusUI extends UI{
32

    
33
    private final static Logger logger = Logger.getLogger(DistributionStatusUI.class);
34

    
35
    private ViewDisplay viewDisplay;
36

    
37
    //---- pull into abstract super class ? ---------
38
    @Autowired
39
    SpringViewProvider viewProvider;
40

    
41
    @Autowired
42
    NavigationManagerBean navigator;
43

    
44
    protected void configureAccessDeniedView() {
45
        viewProvider.setAccessDeniedViewClass(RedirectToLoginView.class);
46
    }
47

    
48
    /**
49
     * @return
50
     */
51
    private String pageFragmentAsState() {
52
        Page page = Page.getCurrent();
53
        String fragment = page.getUriFragment();
54
        String state = null;
55
        if(fragment != null && fragment.startsWith("!")){
56
            state = fragment.substring(1, fragment.length());
57
        }
58
        return state;
59
    }
60
    //---------------------------------------------
61

    
62
    public static final String INITIAL_VIEW =  DistributionTableViewBean.NAME;
63

    
64
//    @Autowired
65
//    @Qualifier("registrationToolbar")
66
//    private Toolbar toolbar;
67

    
68
    @Autowired
69
    UIEventBus uiEventBus;
70

    
71
    public DistributionStatusUI() {
72

    
73
    }
74

    
75
	@Override
76
	protected void init(VaadinRequest request) {
77

    
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();
83
	            }
84
	        }
85

    
86
	    });
87

    
88
        configureAccessDeniedView();
89

    
90
        Responsive.makeResponsive(this);
91

    
92
        viewDisplay = new Navigator.SingleComponentContainerViewDisplay(this);
93
        navigator.setViewDisplay(viewDisplay);
94
        //setContent((Component) viewDisplay);
95

    
96
//        if(ToolbarDisplay.class.isAssignableFrom(viewDisplay.getClass())){
97
//            ((ToolbarDisplay)viewDisplay).setToolbar(toolbar);
98
//        }
99

    
100
        uiEventBus.publish(this, new UIInitializedEvent());
101

    
102
        navigator.setDefaultViewName(INITIAL_VIEW);
103

    
104
	}
105
}
(5-5/8)