1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.ecm.webui.component.admin.manager;
18
19 import javax.jcr.AccessDeniedException;
20
21 import org.exoplatform.ecm.webui.component.admin.UIECMAdminPortlet;
22 import org.exoplatform.ecm.webui.component.admin.UIECMAdminWorkingArea;
23 import org.exoplatform.ecm.webui.component.admin.listener.UIECMAdminControlPanelActionListener;
24 import org.exoplatform.ecm.webui.component.admin.views.UIViewManager;
25 import org.exoplatform.web.application.ApplicationMessage;
26 import org.exoplatform.webui.config.annotation.ComponentConfig;
27 import org.exoplatform.webui.config.annotation.EventConfig;
28 import org.exoplatform.webui.event.Event;
29 import org.exoplatform.webui.exception.MessageException;
30 import org.exoplatform.webui.ext.manager.UIAbstractManager;
31 import org.exoplatform.webui.ext.manager.UIAbstractManagerComponent;
32
33
34
35
36
37
38
39 @ComponentConfig(
40 events = {
41 @EventConfig(listeners = UIViewManagerComponent.UIViewManagerActionListener.class)
42 }
43 )
44 public class UIViewManagerComponent extends UIAbstractManagerComponent {
45
46 public static class UIViewManagerActionListener extends UIECMAdminControlPanelActionListener<UIViewManagerComponent> {
47 public void processEvent(Event<UIViewManagerComponent> event) throws Exception {
48 UIECMAdminPortlet portlet = event.getSource().getAncestorOfType(UIECMAdminPortlet.class);
49 UIECMAdminWorkingArea uiWorkingArea = portlet.getChild(UIECMAdminWorkingArea.class);
50 try {
51 uiWorkingArea.getChild(UIViewManager.class).update() ;
52 uiWorkingArea.setChild(UIViewManager.class) ;
53 event.getRequestContext().addUIComponentToUpdateByAjax(uiWorkingArea) ;
54 } catch(AccessDeniedException ace) {
55 throw new MessageException(new ApplicationMessage("UIECMAdminControlPanel.msg.access-denied",
56 null, ApplicationMessage.WARNING)) ;
57 }
58 }
59 }
60
61 @Override
62 public Class<? extends UIAbstractManager> getUIAbstractManagerClass() {
63 return UIViewManager.class;
64 }
65 }