1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.ecm.webui.component.explorer.symlink;
18
19 import javax.jcr.Item;
20 import javax.jcr.Node;
21
22 import org.exoplatform.ecm.webui.component.explorer.UIJCRExplorer;
23 import org.exoplatform.services.log.ExoLogger;
24 import org.exoplatform.services.log.Log;
25 import org.exoplatform.services.wcm.core.NodeLocation;
26 import org.exoplatform.webui.config.annotation.ComponentConfig;
27 import org.exoplatform.webui.config.annotation.EventConfig;
28 import org.exoplatform.webui.core.UIContainer;
29 import org.exoplatform.webui.event.Event;
30 import org.exoplatform.webui.event.EventListener;
31
32
33
34
35
36
37
38 @ComponentConfig(
39 template = "app:/groovy/webui/component/explorer/UITabPaneWithAction.gtmpl",
40 events = {
41 @EventConfig(listeners = UISymLinkContainer.CloseActionListener.class)
42 }
43 )
44 public class UISymLinkContainer extends UIContainer {
45
46 private static final Log LOG = ExoLogger.getLogger(UISymLinkContainer.class.getName());
47
48 private NodeLocation uploadedNode_ ;
49
50 public UISymLinkContainer() throws Exception {
51 }
52
53 public String[] getActions() {return new String[] {"AddMetadata","Close"} ;}
54
55 public Node getEditNode(String nodeType) throws Exception {
56 Node uploadedNode = getUploadedNode();
57 try {
58 Item primaryItem = uploadedNode.getPrimaryItem() ;
59 if(primaryItem == null || !primaryItem.isNode()) return uploadedNode;
60 if(primaryItem != null && primaryItem.isNode()) {
61 Node primaryNode = (Node) primaryItem ;
62 if(primaryNode.isNodeType(nodeType)) return primaryNode ;
63 }
64 } catch(Exception e) {
65 if (LOG.isWarnEnabled()) {
66 LOG.warn(e.getMessage());
67 }
68 }
69 return uploadedNode;
70 }
71
72 public void setUploadedNode(Node node) throws Exception {
73 uploadedNode_ = NodeLocation.getNodeLocationByNode(node);
74 }
75 public Node getUploadedNode() {
76 return NodeLocation.getNodeByLocation(uploadedNode_);
77 }
78
79 static public class CloseActionListener extends EventListener<UISymLinkContainer> {
80 public void execute(Event<UISymLinkContainer> event) throws Exception {
81 UIJCRExplorer uiExplorer = event.getSource().getAncestorOfType(UIJCRExplorer.class);
82 uiExplorer.cancelAction() ;
83 }
84 }
85 }