2010-11-12 1 views
4

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

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

+0

вы пытаетесь изменить название «свойство» этого узла или имя «типа» узла? – anirvan

ответ

10

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(); 
    } 
+1

Обратите внимание, что метод переименования * * * часть JCR. Однако это часть API Jackrabbit. Если вы хотите строго соблюдать JCR, вам нужно использовать метод перемещения, чтобы переместить узел в новое имя. Кроме того, если родительский узел упорядочен, вам необходимо изменить порядок перемещенного узла на прежнее место после перемещения. – michid

+0

wiki по-прежнему поддерживает этот код как дату сегодняшнего дня, но тестирование с последней версией JackRabbit вызывает исключение. Удаление лишнего «/» необходимо для его работы. –

 Смежные вопросы

  • Нет связанных вопросов^_^