View Javadoc
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  }