function getUniqueName (rootNode, defaultName)
{
var uniqueName = defaultName;
var index = 2;
while (rootNode.hasNode(uniqueName))
{
uniqueName = defaultName + "-" + index;
index++;
}
return uniqueName;
}
var qm = session.getWorkspace().getQueryManager();
var query = qm.createQuery(", javax.jcr.query.Query.XPATH);
var nodes = query.execute().getNodes();
var count = 0;
while (nodes.hasNext())
{
var node = nodes.next();
var label = node.getProperty('ametys-internal:label').getString();
var normalizedLabel = org.ametys.plugins.linkdirectory.DirectoryHelper.normalizeString(label);
var newName = getUniqueName (node.getParent(), normalizedLabel);
session.move(node.getPath(), node.getParent().getPath() + '/' + newName);
count++;
}
if (count > 0)
{
session.save();
}
println(count + " themes have been renamed");
Script of migration for themes