Как изменить имя узла JCR?

Я пытаюсь изменить имя узла JCR, но не знаю, как это сделать? Кто-нибудь из вас подскажет?

Большое спасибо.


person joksy82    schedule 12.11.2010    source источник
comment
вы пытаетесь изменить свойство имени узла или имя типа узла?   -  person anirvan    schedule 12.11.2010


Ответы (1)


В Jackrabbit Wiki приведен пример:

void rename(Node node, String newName) throws RepositoryException 
    {
        node.getSession().move(node.getPath(), node.getParent().getPath() + "/" + newName);
        // Don't forget - not necessarily here at this place:
        // node.getSession().save();
    }
person stacker    schedule 12.11.2010
comment
Обратите внимание, что метод переименования не является частью JCR. Однако это часть API Jackrabbit. Если вы хотите строго соответствовать JCR, вам нужно использовать метод перемещения, чтобы переместить узел на новое имя. Кроме того, если родительский узел доступен для заказа, вы должны переупорядочить перемещенный узел на его предыдущее место после перемещения. - person michid; 16.11.2010
comment
Вики по-прежнему поддерживает этот код как сегодняшнюю дату, но проверка этого с последней версией JackRabbit вызывает исключение. Удаление лишнего / необходимо, чтобы он работал. - person Xtreme Biker; 08.01.2014