首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文档库中添加标签到文档库中?

如何在文档库中添加标签到文档库中?
EN

Stack Overflow用户
提问于 2012-03-20 05:04:51
回答 1查看 1.9K关注 0票数 2

我对救生筏很陌生。我使用救生筏6.0.5,我想通过代码将"Archive“标记添加到文档库文档中,以便后者能够用"Archive”标记获取文档。怎么做?

这里是正在处理的代码:

代码语言:javascript
复制
private void addArchive(List<DLFileEntry> fileEntryList) {       
    try
    {
        long groupId=0;
        long userId=0;
        String className=null;
        long classPK=0;
        long categoryIds[]=null;
        String tagNames[]=null;
        String newTagNames[] = new String[20];
        long entryId = 0;
        List<AssetTag> TNames = new ArrayList<AssetTag>();
        int i = 0;
        for(DLFileEntry cur:fileEntryList)
        {
            groupId=cur.getGroupId();
            userId=cur.getUserId();
            className=cur.getClass().getName();
            classPK=cur.getPrimaryKey();
            AssetEntry ae=AssetEntryLocalServiceUtil.getEntry(groupId, cur.getUuid());
            categoryIds=ae.getCategoryIds();
            entryId = ae.getEntryId();
            TNames = ae.getTags();
            System.out.println(cur.getTitle());
            i=0;
            for(AssetTag tag : TNames)
            {
                System.out.println(tag.getName());      
                newTagNames[i]=tag.getName().toString();
                i++;
            }
            newTagNames[i]="NameArchive";
            AssetEntryLocalServiceUtil.updateEntry(userId, groupId, className, classPK, categoryIds, newTagNames);
            System.out.println("------------------------------------------------");
        }
        System.out.println("outside for loop"); 
    }
    catch (Exception e) {
        // TODO: handle exception
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-03-21 08:08:55

首先,您需要使用entryId类(以及其他相关的DL*LocalServiceUtil类)在文档库中找到文件的“DLFileEntryLocalServiceUtil”。

"entryId“与数据库中资产项表上的"classPK”字段有关。然后,您可以使用以下方法使用“Archive”标记更新AssetEntry:

代码语言:javascript
复制
AssetEntryLocalServiceUtil.updateEntry(userId, groupId, DLFileEntry.class.getName(), fileEntryIdYouJustGot, categoryIds, new String[] {"Archive"});

这将删除任何其他标记,因此您可能希望从Asset条目中检索当前标记,然后向其添加"Archive“,然后将结果数组传递给方法。

但这是你需要做的事情的基础。

编辑~~

修改您的getEntryLine以使用以下内容。您正在传入DLFileEntry UUID,但是如果您查看源代码,它要求的是一个classUuid,我不认为这是一回事。还在异常处理中添加日志记录,以查看是否抛出异常。

代码语言:javascript
复制
AssetEntry ae=AssetEntryLocalServiceUtil.getEntry(groupId, classPK);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9781606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档