如何收集新版本中找到的新网址

时间:2013-07-19 12:47:18

标签: cq5 jcr

我想获得作者在某个页面的新版本中添加的网址。

  

示例:作者在myPage中添加www.url1.com并激活myPage。 - >   生成版本1.0            作者在myPage中添加www.url2.com并激活myPage。 - >生成版本1.2 - > myPage 1.2版本有www.url1.com   和www.url2.com

在这种情况下,该功能必须返回www.url2.com。

我写了一个函数 getNewUrls(Set> String> urls),它收集旧版本和新版本的网址,并从新发现的网址中删除旧找到的网址,如下所示。

private Set<String> getNewUrls(Set<String> urls){
   Set<String> newUrls = collectUrlsFromNodes(newVersionNode.getNodes());
   Set<String> oldUrls = collectUrlsFromNodes(oldVersionNode.getNodes());
   Set<String> myNewUrls newUrls.removeAll(oldUrls);
 }

private Set<String> collectUrlsFromNodes(final NodeIterator nodeIter) {

        Set<String> urlSet = new HashSet<String>();
        while (nodeIter.hasNext()) {
            Node subNode = nodeIter.nextNode();
            urlSet.addAll(collectUrlsFromNodes(subNode.getNodes()));
            if (subNode.hasProperty("fileReference")) {
                String url = subNode.getProperty("fileReference").getString();
                urlSet.add(url);
            }
        }
        return urlSet;
    }
Prolbem是这个函数也找到了url,作者也已经删除了(mybe,因为即使作者从页面中删除/编辑url,它们仍然存储在内容中)。知道如何解决这个问题吗?

0 个答案:

没有答案