Я пытаюсь получить ссылки / пути, где используются некоторые теги AEM.Я пытался с этим:
import org.apache.sling.api.resource.Resource
import com.day.cq.tagging.Tag
import com.day.cq.tagging.TagManager
import org.apache.sling.api.resource.ResourceResolver
import java.lang.Thread.*;
import javax.jcr.Node;
def tagpath = "/etc/tags";
def delay = 10 ; //in Milliseconds.
def query = getAllTags(tagpath)
def result = query.execute()
def rows = result.rows
def unusedTags = 0
rows.each { row ->
Resource res = resourceResolver.getResource(row.path)
if(res!=null){
Tag tag = res.adaptTo(com.day.cq.tagging.Tag)
Node tempNode = res.adaptTo(javax.jcr.Node);
TagManager tm = resourceResolver.adaptTo(com.day.cq.tagging.TagManager);
FindResults fr = tm.findByTitle(tag.title)
RangeIterator rangeIterator = fr.resources; -> this throws Cast Exception
//how to get paths of results (content) from fr to see where is this tag used
Thread.currentThread().sleep((long)(delay));
}
}
def getAllTags(tagpath) {
def queryManager = session.workspace.queryManager
def statement = "/jcr:root"+tagpath+"//element(*, cq:Tag)"
def query = queryManager.createQuery(statement, "xpath")
}
Теперь меня интересует, как получить результаты из переменной fr.Должен ли я каким-то образом адаптировать его к классу Resource или как я могу получить path к ресурсам / страницам, которые это возвращает?
FindResults findByTitle (String) - Выполняет поиск всего содержимого, помеченного тегомтег, который содержит данный заголовок в качестве заголовка тега.