reference - jackrabbit postgresql
Jackrabbit-node.getReferences() no devuelve nada (1)
Estoy tratando de agregar una referencia, pero cuando llamo a node.getReferences () no puedo verlo.
He intentado crear un ejemplo simple -> crear 2 nodos en la raíz y referenciar uno de la otra. Eso funciona bien
En mi código de trabajo, no. Supongo que tiene algo que ver con el control de versiones, pero no puedo encontrar ningún documento que explique lo que está sucediendo. Déjame explicar la estructura
Root
|__project node
|
|__ node 1
|
|__ node 2
Todos los nodos tienen mix: versionable y mix: referenceble.
Un poco de código ...
node1.checkout();
node2.checkout();
node2.setProperty("ref to node1", node1);
session.save();
if (!node1.getReferences().hasNext())
System.out.println("No references");
Intenté eliminar el pago y el ahorro, pero todo fue en vano.
Cualquier comentario o lectura recomendada apreciada.
Ted.
El código que enlistó debería funcionar como esperaba. ¿Está utilizando alguna capa remota (RMI, WebDAV, etc.) que pueda tener un error en la forma en que se manejan las referencias?
Puede probar, por ejemplo, el siguiente código con una instancia local de Jackrabbit:
Node root = session.getRootNode().addNode("test");
Node node1 = root.addNode("node1");
node1.addMixin("mix:referenceable");
Node node2 = root.addNode("node2");
node2.setProperty("reference", node1);
session.save();
System.out.println("References to " + node1.getPath() + ":");
for (Property reference : JcrUtils.getReferences(node1)) {
System.out.println("- " + reference.getPath());
}
Imprime lo siguiente:
References to /test/node1:
- /test/node2/reference