1 package org.argeo.documents.e4;
2
3 import static org.argeo.connect.util.ConnectJcrUtils.isNodeType;
4
5 import javax.jcr.Node;
6 import javax.jcr.nodetype.NodeType;
7
8 import org.argeo.connect.e4.AppE4Service;
9 import org.argeo.connect.ui.ConnectImages;
10 import org.argeo.documents.DocumentsTypes;
11 import org.argeo.node.NodeTypes;
12 import org.eclipse.swt.graphics.Image;
13
14 public class DocumentsE4Service implements AppE4Service {
15
16 @Override
17 public String getEntityEditorId(Node entity) {
18 if (isFileNodeType(entity)) {
19 return "org.argeo.suite.e4.partdescriptor.file";
20 } else if (isFolderNodeType(entity)) {
21 return "org.argeo.suite.e4.partdescriptor.folder";
22 } else
23 return null;
24 }
25
26 @Override
27 public String getSearchEntityEditorId(String nodeType) {
28 return null;
29 }
30
31 @Override
32 public Image getIconForType(Node entity) {
33 if (isFileNodeType(entity))
34 return ConnectImages.FILE;
35 else if (isFolderNodeType(entity))
36 return ConnectImages.FOLDER;
37 else if (isNodeType(entity, DocumentsTypes.DOCUMENTS_BOOKMARK))
38 return ConnectImages.BOOKMARK;
39 else
40 return null;
41 }
42
43 private static boolean isFolderNodeType(Node entity) {
44 return isNodeType(entity, NodeType.NT_FOLDER) || isNodeType(entity, NodeTypes.NODE_USER_HOME)
45 || isNodeType(entity, NodeTypes.NODE_GROUP_HOME);
46 }
47
48 private static boolean isFileNodeType(Node entity) {
49 return isNodeType(entity, NodeType.NT_FILE) || isNodeType(entity, NodeType.NT_LINKED_FILE);
50 }
51 }