0

我正在尝试使用 SBT Java API 将 IBM Connections 中的待办事项切换为完成/未完成。我设法将待办事项设置为完成,但如何将其更改回不完整?

        todoNode = activityService.getActivityNode( "856b9450-b3d2-4b41-a198-46feeb3772a8" );
        System.out.println("Title " + todoNode.getTitle());

        if ( todoNode.getCategoryFlagCompleted() == null) {
            List<String> flags = new java.util.ArrayList();
            flags.add("Completed");
            todoNode.setFlags(flags);
        }

        activityService.updateActivityNode(todoNode);

非常感谢

4

2 回答 2

1

来自连接 REST API 文档:

要完成一项活动,请添加此标志。如果它不存在,则活动未完成。

因此,要再次将活动标记为不完整,只需更新 ActivityNode 而不添加“已完成”标志。

todoNode = activityService.getActivityNode( "856b9450-b3d2-4b41-a198-46feeb3772a8" );
System.out.println("Title " + todoNode.getTitle());

if ( todoNode.getCategoryFlagCompleted() != null) {
    todoNode.setFlags(new java.util.ArrayList());
}

activityService.updateActivityNode(todoNode);
于 2014-03-14T09:15:37.670 回答
0

刚刚遇到了同样的问题,但似乎你可以使用空标志来让它工作。

    todoNode = activityService.getActivityNode( "856b9450-b3d2-4b41-a198-46feeb3772a8" );
    System.out.println("Title " + todoNode.getTitle());
    if ( todoNode.getCategoryFlagCompleted() == null) {
        List<String> flags = new java.util.ArrayList();
        flags.add("");
        todoNode.setFlags(flags);
    }
    activityService.updateActivityNode(todoNode);

不确定它是否适用于 Java,因为我在 JSSS 中使用 API。更重要的是,此解决方案将删除其他标志,如“已删除”。您应该使用 getCategoryFlagDelete() 检查它们以正确重新创建活动“标志字段”。

于 2014-08-05T08:01:01.677 回答