Alfresco操作:使用上传的元数据中的名称创建一个文件夹

时间:2014-03-04 11:01:35

标签: java action alfresco rule

当文件进入我的露天存储库中的文件夹时,我想运行一个操作(带有规则)。该文件需要移动到一个新文件夹。新文件夹将以我上传的文件中的元数据属性“subject”命名。

我无法弄清楚如何做到这一点。谁有任何提示? (存储库webscript也是一种选择)。

这就是我的看法:

import java.util.List;

public class MoveExecuter extends ActionExecuterAbstractBase {
public static final String DESTINATION_FOLDER = "destination-folder";

private FileFolderService fileFolderService;
private NodeService nodeService;

@Override
protected void addParameterDefinitions(List<ParameterDefinition> paramList) {
    paramList.add(
        new ParameterDefinitionImpl(DESTINATION_FOLDER,
                                    DataTypeDefinition.NODE_REF,
                                    true,
                                    getParamDisplayLabel(METADATA VALUE FROM FIELD SUBJECT FROM INCOMING FILE)));}


   public void executeImpl(Action ruleAction, NodeRef actionedUponNodeRef) {
   NodeRef destinationParent = (NodeRef)ruleAction.getParameterValue(DESTINATION_FOLDER);


            // if the node exists
            if (this.nodeService.exists(destinationParent) == true) {
                try {
                    fileFolderService.move(incomingfile, destinationParent, null);
                } catch (FileNotFoundException e) {
                    // Do nothing
                }
                if (this.nodeService.exists(destinationParent) == false) {
                    try {
                       nodeService.createNode(parentRef, assocTypeQName, assocQName, "metadata field subject");
                        fileFolderService.move(incomingfile, destinationParent, null);
                    } catch (FileNotFoundException e) {
                        // Do nothing
                    }
            }

    }
}

1 个答案:

答案 0 :(得分:1)

对于这样一个简单的操作,我只使用JavaScript而不是java Action。

googlecodegithub安装JavaScript插件(较新版本) 只需根据api编写Javascript代码,然后在运行时在控制台中运行它来测试代码。