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 }